A Model Context Protocol (MCP) server that allows Claude AI to interact with custom tools, enabling extension of Claude's capabilities through the MCP framework.
A Model Context Protocol (MCP) server built with mcp-framework.
# Install dependencies npm install # Build the project npm run build
scenario-word/
├── src/
│ ├── tools/ # MCP Tools
│ │ └── ExampleTool.ts
│ └── index.ts # Server entry point
├── package.json
└── tsconfig.json
The project comes with an example tool in src/tools/ExampleTool.ts
. You can add more tools using the CLI:
# Add a new tool mcp add tool my-tool # Example tools you might create: mcp add tool data-processor mcp add tool api-client mcp add tool file-handler
Example tool structure:
import { MCPTool } from "mcp-framework"; import { z } from "zod"; interface MyToolInput { message: string; } class MyTool extends MCPTool { name = "my_tool"; description = "Describes what your tool does"; schema = { message: { type: z.string(), description: "Description of this input parameter", }, }; async execute(input: MyToolInput) { // Your tool logic here return `Processed: ${input.message}`; } } export default MyTool;
Update your package.json:
name
is unique and follows npm naming conventionsversion
description
, author
, license
, etc.bin
points to the correct entry fileBuild and test locally:
npm run build npm link scenario-word # Test your CLI locally
Login to npm (create account if necessary):
npm login
Publish your package:
npm publish
After publishing, users can add it to their claude desktop client (read below) or run it with npx
## Using with Claude Desktop
### Local Development
Add this configuration to your Claude Desktop config file:
**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"scenario-word": {
"command": "node",
"args":["/absolute/path/to/scenario-word/dist/index.js"]
}
}
}
Add this configuration to your Claude Desktop config file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{ "mcpServers": { "scenario-word": { "command": "npx", "args": ["scenario-word"] } } }
npm run build
to compileDiscover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!