An open API service indexing awesome lists of open source software.

https://github.com/quantgeekdev/mcp-add-sse

MCP addition tool demonstrating SSE + auth capabilities
https://github.com/quantgeekdev/mcp-add-sse

Last synced: 7 months ago
JSON representation

MCP addition tool demonstrating SSE + auth capabilities

Awesome Lists containing this project

README

          

# calculator
[![smithery badge](https://smithery.ai/badge/@QuantGeekDev/mcp-add-sse)](https://smithery.ai/server/@QuantGeekDev/mcp-add-sse)

A Model Context Protocol (MCP) server built with mcp-framework.

## Quick Start

```bash
# Install dependencies
npm install

# Build the project
npm run build

```

## Project Structure

```
calculator/
├── 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:

```bash
# 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:

```typescript
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;
```

## Publishing to npm

1. Update your package.json:
- Ensure `name` is unique and follows npm naming conventions
- Set appropriate `version`
- Add `description`, `author`, `license`, etc.
- Check `bin` points to the correct entry file

2. Build and test locally:
```bash
npm run build
npm link
calculator # Test your CLI locally
```

3. Login to npm (create account if necessary):
```bash
npm login
```

4. Publish your package:
```bash
npm publish
```

After publishing, users can add it to their claude desktop client (read below) or run it with npx
```

## Using with Claude Desktop

### Installing via Smithery

To install Calculator for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@QuantGeekDev/mcp-add-sse):

```bash
npx -y @smithery/cli install @QuantGeekDev/mcp-add-sse --client claude
```

### 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": {
"calculator": {
"command": "node",
"args":["/absolute/path/to/calculator/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`

```json
{
"mcpServers": {
"calculator": {
"command": "npx",
"args": ["calculator"]
}
}
}
```

## Building and Testing

1. Make changes to your tools
2. Run `npm run build` to compile
3. The server will automatically load your tools on startup

## Learn More

- [MCP Framework Github](https://github.com/QuantGeekDev/mcp-framework)
- [MCP Framework Docs](https://mcp-framework.com)