my-mcp-server
by distractdiverge
my-mcp-server is a Model Context Protocol (MCP) server built with the mcp-framework. It allows users to create and integrate custom tools for use with applications like Claude Desktop.
Last updated: N/A
my-mcp-server
A Model Context Protocol (MCP) server built with mcp-framework.
Quick Start
# Install dependencies
npm install
# Build the project
npm run build
Project Structure
my-mcp-server/
├── src/
│   ├── tools/        # MCP Tools
│   │   └── ExampleTool.ts
│   └── index.ts      # Server entry point
├── package.json
└── tsconfig.json
Adding Components
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
Tool Development
Example tool structure:
import { MCPTool } from "mcp-framework";
import { z } from "zod";
interface MyToolInput {
  message: string;
}
class MyTool extends MCPTool<MyToolInput> {
  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;
Publishing to npm
- 
Update your package.json: - Ensure nameis unique and follows npm naming conventions
- Set appropriate version
- Add description,author,license, etc.
- Check binpoints to the correct entry file
 
- Ensure 
- 
Build and test locally: npm run build npm link my-mcp-server # 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": {
    "my-mcp-server": {
      "command": "node",
      "args":["/absolute/path/to/my-mcp-server/dist/index.js"]
    }
  }
}
After Publishing
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": {
    "my-mcp-server": {
      "command": "npx",
      "args": ["my-mcp-server"]
    }
  }
}
Building and Testing
- Make changes to your tools
- Run npm run buildto compile
- The server will automatically load your tools on startup
