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 { mesh, MeshAgent } from "@mcpmesh/sdk";
const app = new MeshAgent({
name: "greeter",
version: "1.0.0",
httpPort: 8080,
});
app.tool(
mesh({
capability: "greeting",
description: "Greet a user by name",
}),
async ({ name }: { name: string }) => {
return `Hello, ${name}!`;
}
);
app.run();
3. Install Dependencies and Run¶
4. Test the Agent¶
# Terminal 3: Call the agent
meshctl call greeter greeting --params '{"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 { mesh, MeshAgent, McpMeshTool } from "@mcpmesh/sdk";
const app = new MeshAgent({
name: "assistant",
version: "1.0.0",
httpPort: 9001,
});
app.tool(
mesh({
capability: "smart_greeting",
description: "Enhanced greeting with time",
dependencies: ["greeting"], // Depend on greeter
}),
async (
{ name }: { name: string },
{ greeting }: { greeting: McpMeshTool | null } // Injected!
) => {
if (greeting) {
const baseGreeting = await greeting({ name });
return `${baseGreeting} Welcome to MCP Mesh!`;
}
return `Hello, ${name}! (greeter unavailable)`;
}
);
app.run();
# Install and start the assistant
cd assistant
npm install
meshctl start src/index.ts --debug
# Call the smart greeting
meshctl call assistant smart_greeting --params '{"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