Your next AI agent starts here.
Scaffold a production-ready MCP server with A2A support and portable Agent Skills. Start with a structured foundation. Build what makes your agent yours.
Skip the blank-page problem.
Standing up an interoperable agent server means boilerplate: protocol envelopes, an agent card, a skill file, packaging and validation. mcp-agent-kit generates that starting structure so your first hour goes to your own tools.
It doesn’t remove integration work. Your tools, your logic and your client setup are still yours.
One foundation. Three building blocks.
Select a block to see what it is and what it connects to. Validation and tests sit underneath all three.
From scaffold to your own agent.
Configure your project
Pick a snake_case name, a description and a base URL.
create-mcp-agent my_agentGenerate the scaffold
The CLI writes server, tools, A2A card, SKILL.md and tests.
cd my_agentValidate the implementation
Six compliance checks, plus a dual-era client probe test.
python validate.pyExtend it with your own tools
Add a file under tools/, register it in server.py, re-validate.
python server.pyStart with a foundation. Stay in control.
This is the tool definition shape the scaffold ships with (tools/example.py), trimmed for display. Your own tools follow the same pattern and are registered in server.py.
Illustrative excerpt, not program output.
def calculate_metrics(arguments): values = arguments.get("values", []) ... TOOL_DEFINITION = { "name": "calculate_metrics", "description": "Use when analyzing numerical series or computing aggregate metrics. Do not use for unstructured text parsing.", "inputSchema": { "type": "object", "properties": { "metric_type": {"type": "string", "enum": ["mean", "sum", "max", "min"]}, "values": {"type": "array", "items": {"type": "number"}}, }, "required": ["values"], }, "annotations": {"readOnlyHint": True, "destructiveHint": False}, "handler": calculate_metrics, }
What the repository implements today.
Project structure
Generates tools/, a2a/, server.py, validate.py, client_test.py, SKILL.md and a README.
Stateless MCP server
Targets MCP 2026-07-28 over stdio: server/discover, tools, resources and prompts, each request carrying its own _meta, with sorted list results. Standard library only.
A2A agent card and tasks
Builds agent.json from registered tools and serves it with a task lifecycle (submitted, working, completed, failed, input_required).
Portable SKILL.md
Frontmatter checks: name matches directory, description 20–1024 characters in “Use when X. Do not use for Y.” form.
Validation and tests
validate.py runs six checks; the repository ships 20 unit tests under tests/.
Auth, database, hosting
The README lists these as out of scope: add a bearer-token validator or persistent task store yourself. Client compatibility beyond the documented Claude Desktop and Claude Code steps isn’t claimed.
Preview a scaffold.
A browser preview of what create-mcp-agent would write for your inputs, using the same name and description rules as the CLI. It does not generate files; the official CLI does.
Checks mirror the CLI’s name rule and description pattern. Whether a generated project passes all six validate.py checks is only known by running it. Generated server files import mcp_agent_kit, so it must be installed.
Your next commit starts here.
- Open the repository. Python 3.10 or newer is required.
- Install and scaffold. The README documents installing from PyPI and running the generator.
- Run validation. Six compliance checks, then the probe client test.
- Run the repo’s tests. From a clone of the repository.
- Extend the project. Add tools under tools/ and register them in server.py.
Questions.
What is mcp-agent-kit?
A scaffolding kit and runtime foundation for building an MCP server with A2A support and portable Agent Skill packaging. It is an early release (0.1.0, Beta).
What does it generate?
tools/example.py, server.py, a2a/agent.json, a2a/server.py, SKILL.md, validate.py, client_test.py and README.md.
How do MCP and A2A support work?
The MCP server speaks stateless JSON-RPC over stdio. The A2A server is a standard-library HTTP server exposing /.well-known/agent.json and task endpoints (/a2a/tasks/send, /a2a/tasks/{id}); the agent card is generated from your registered tools.
What is the role of SKILL.md?
It packages the agent’s purpose and tool index as a portable skill file. The README shows copying it into ~/.claude/skills or .claude/skills for Claude Code.
Which Python version is required?
Python 3.10 or newer, per pyproject.toml. The protocol core has no runtime dependencies; Flask is an optional extra.
How do I validate a generated project?
Run python validate.py inside it, and python client_test.py for the probe client tests.
Can I customize the scaffold?
Yes. The output is plain Python files you own. Add tools, change the agent card, edit SKILL.md, then re-run validation.
Build the foundation. Create the intelligence.
Open source. Developer controlled. Ready to extend.