A simple calculator server for performing basic arithmetic operations.
A Model Context Protocol (MCP) server built with mcp-framework.
# Install dependencies
npm install
# Build the project
npm run build
calculator/
├── 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<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;
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
calculator # 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
### 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
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": {
"calculator": {
"command": "node",
"args":["/absolute/path/to/calculator/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": {
"calculator": {
"command": "npx",
"args": ["calculator"]
}
}
}
npm run build
to compileInteract with your Obsidian vault from your IDE or Claude Desktop.
Interact with Quire.io projects and tasks using the Quire API, enabling AI assistants to manage your workflow.
Connect your AI Agents to 8,000 apps instantly.
CalDAV Nectcloud calendar integration. Manage calendars, events, attendees, etc.
MCP server to interact with Routine: calendars, tasks, notes, etc.
Read, create, update and delete Google Keep notes.
Interact with the Umbraco CMS Management API for administrative tasks.
A server for date-time manipulation and timezone conversion.
A server for managing gatherings and sharing expenses.
Create spaced repetition flashcards in Rember to remember anything you learn in your chats