Quick Start¶
Get started with MCP Mesh in minutes (TypeScript)
Prerequisites¶
1. Start the Registry¶
2. Create Your First Agent¶
# Terminal 2: Scaffold a TypeScript agent
meshctl scaffold --name greeter --agent-type tool --lang typescript
This creates greeter/src/index.ts:
import { FastMCP, mesh } from "@mcpmesh/sdk";
import { z } from "zod";
const server = new FastMCP({ name: "Greeter", version: "1.0.0" });
const agent = mesh(server, { name: "greeter", httpPort: 8080 });
agent.addTool({
name: "greet",
capability: "greeting",
description: "Greet a user by name",
parameters: z.object({ name: z.string() }),
execute: async ({ name }) => `Hello, ${name}!`,
});
// Agent auto-starts — no explicit run() call needed
3. Install Dependencies and Run¶
4. Test the Agent¶
# Terminal 3: Call the agent
meshctl call greeter:greeting '{"name": "World"}'
# Output: Hello, World!
# Or list running agents
meshctl list
5. Add a Dependency¶
Create a second agent that depends on the greeter:
Edit assistant/src/index.ts:
import { FastMCP, mesh, McpMeshTool } from "@mcpmesh/sdk";
import { z } from "zod";
const server = new FastMCP({ name: "Assistant", version: "1.0.0" });
const agent = mesh(server, { name: "assistant", httpPort: 9001 });
agent.addTool({
name: "smart_greet",
capability: "smart_greeting",
description: "Enhanced greeting with time",
dependencies: ["greeting"], // Depend on greeter
parameters: z.object({ name: z.string() }),
execute: async (
{ name },
greeting: McpMeshTool | null = null, // Injected positionally, in declaration order
) => {
if (greeting) {
const baseGreeting = await greeting({ name });
return `${baseGreeting} Welcome to MCP Mesh!`;
}
return `Hello, ${name}! (greeter unavailable)`;
},
});
// Agent auto-starts — no explicit run() call needed
# Install and start the assistant
cd assistant
npm install
meshctl start src/index.ts --debug
# Call the smart greeting
meshctl call assistant:smart_greeting '{"name": "Developer"}'
# Output: Hello, Developer! Welcome to MCP Mesh!
Next Steps¶
meshctl man decorators --typescript- Learn all mesh functionsmeshctl man llm --typescript- Add LLM capabilitiesmeshctl man deployment --typescript- Deploy to Docker/Kubernetesmeshctl man express- Express REST API integration
See Also¶
meshctl scaffold --help- All scaffold optionsmeshctl man prerequisites- Full setup guide