MCP TypeScript Tools Server
by Albo3
The MCP TypeScript Tools Server is a Model Context Protocol (MCP) server implementation in TypeScript. It provides utility tools for LLMs like Claude, including calculator, datetime, and note-taking.
View on GitHub
Last updated: N/A
MCP TypeScript Tools Server
A Model Context Protocol (MCP) server implementation in TypeScript that provides various utility tools for LLMs like Claude. This server includes calculator, datetime, and note-taking tools, with an extensible architecture for adding more tools.
Features
- 🧮 Calculator tool for basic mathematical operations
- 📅 DateTime tool for current date/time in different formats
- 📝 Notes tool for saving and retrieving text notes
- 🔌 Compatible with Claude for Desktop and Cursor
- 🚀 Easy to extend with new tools
Prerequisites
- Node.js (v16 or higher)
- npm (comes with Node.js)
- Claude for Desktop and/or Cursor (for using the tools)
Installation
- Clone the repository:
git clone <your-repo-url>
cd MCP
- Install dependencies:
npm install
- Build the project:
npm run build
Setting Up with Claude for Desktop
-
Open or create your Claude desktop configuration file:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
-
Add the MCP server configuration:
{
"mcpServers": {
"MCPllmContext": {
"command": "node",
"args": [
"ABSOLUTE_PATH_TO_YOUR_PROJECT/dist/index.js"
]
}
}
}
Replace ABSOLUTE_PATH_TO_YOUR_PROJECT
with the actual path to your project directory.
- Restart Claude for Desktop
- Look for the hammer icon in the input box to confirm the tools are available
Setting Up with Cursor
- Open Cursor
- Go to
Cursor Settings
>Features
>MCP
- Click on
+ Add New MCP Server
- Fill in the form:
- Type: stdio
- Name: MCPllmContext
- Command:
node ABSOLUTE_PATH_TO_YOUR_PROJECT/dist/index.js
Available Tools
Calculator
- Tool name:
calculate
- Description: Evaluates mathematical expressions
- Usage: "Calculate 2 + 2"
DateTime
- Tool name:
current-date
- Description: Returns current date/time
- Formats: "short" or "long"
- Usage: "What's today's date?"
Notes
- Tool name:
save-note
,get-note
,list-notes
- Description: Save and retrieve text notes
- Usage: "Save a note titled 'Meeting' with content 'Discuss project'"
Adding New Tools
- Create a new file in
src/tools/
(e.g.,src/tools/myTool.ts
) - Implement your tool using the template:
import { z } from "zod";
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
export function registerMyTools(server: McpServer) {
server.tool(
"tool-name",
{
param: z.string().describe("Parameter description")
},
async ({ param }) => {
return {
content: [{ type: "text", text: "Result" }]
};
}
);
}
- Export your tool in
src/tools/index.ts
- Register your tool in
src/index.ts
Development
# Build the project
npm run build
# Run the server directly
node dist/index.js
# Watch for changes (if you have nodemon installed)
nodemon dist/index.js
Troubleshooting
Claude for Desktop Issues
- Check the logs at
%APPDATA%\Claude\logs\mcp*.log
(Windows) or~/Library/Logs/Claude/mcp*.log
(macOS) - Verify the path in
claude_desktop_config.json
is absolute and correct - Make sure the server is built (
npm run build
) - Restart Claude for Desktop after configuration changes
Cursor Issues
- Verify the command path in Cursor's MCP settings
- Try refreshing the tool list in the MCP settings
- Check Cursor's logs for any error messages