ArcadeAI/arcade-mcp-ts
TypeScript framework for building MCP servers with built-in OAuth (21 providers), secret injection, middleware, multi-user JWT auth, and worker routes. Wraps @modelcontextprotocol/sdk.
Platform-specific configuration:
{
"mcpServers": {
"arcade-mcp-ts": {
"command": "npx",
"args": [
"-y",
"arcade-mcp-ts"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
TypeScript MCP framework with secret injection, OAuth auth providers, multi-user support, worker routes, and middleware. Wraps the official `@modelcontextprotocol/sdk` — never forks or patches it.
bun add @arcadeai/arcade-mcpimport { MCPApp } from "@arcadeai/arcade-mcp";
import { z } from "zod";
const app = new MCPApp({
name: "MyServer",
version: "1.0.0",
instructions: "A helpful tool server",
});
app.tool(
"greet",
{
description: "Greet someone by name",
parameters: z.object({
name: z.string().describe("Name to greet"),
}),
},
async (args) => `Hello, ${args.name}!`,
);
app.run(); // stdio by defaultRun it:
bun run server.tsOr over HTTP:
app.run({ transport: "http", port: 8000 });Run an MCP server without writing a server file. The CLI auto-discovers tool modules in the current directory:
npx @arcadeai/arcade-mcp # auto-discover tools, run stdio
npx @arcadeai/arcade-mcp --http # auto-discover tools, run HTTPTool modules are discovered from:
*.tools.ts / *.tools.js files (e.g., math.tools.ts)tools/ directory (e.g., tools/greet.ts)Each file should export tool definitions:
// tools/greet.ts
import { z } from "zod";
export const greetTools = {
greet: {
options: {
description: "Greet someone",
parameters: z.object({ name: z.string() }),
},
handler: async (args) => `Hello, ${args.name}!`,
},
};CLI options:
| Flag | Default | Description | |---|---|---| | --http | — | Use HTTP transport (default: stdio) | | --host <addr> | 127.0.0.1 | HTTP host | | --port <n> | 8000 | HTTP port | | --name <name> | directory name | App name | | --dir <path> | cwd | Directory to scan | | --dev | — | Auto-reload on file changes (HTTP only) |
>
Loading reviews...