Discover Awesome MCP Servers
Extend your agent with 29,072 capabilities via MCP servers.
- All29,072
- Developer Tools3,867
- Search1,714
- Research & Data1,557
- AI Integration Systems229
- Cloud Platforms219
- Data & App Analysis181
- Database Interaction177
- Remote Shell Execution165
- Browser Automation147
- Databases145
- Communication137
- AI Content Generation127
- OS Automation120
- Programming Docs Access109
- Content Fetching108
- Note Taking97
- File Systems96
- Version Control93
- Finance91
- Knowledge & Memory90
- Monitoring79
- Security71
- Image & Video Processing69
- Digital Note Management66
- AI Memory Systems62
- Advanced AI Reasoning59
- Git Management Tools58
- Cloud Storage51
- Entertainment & Media43
- Virtualization42
- Location Services35
- Web Automation & Stealth32
- Media Content Processing32
- Calendar Management26
- Ecommerce & Retail18
- Speech Processing18
- Customer Data Platforms16
- Travel & Transportation14
- Education & Learning Tools13
- Home Automation & IoT13
- Web Search Integration12
- Health & Wellness10
- Customer Support10
- Marketing9
- Games & Gamification8
- Google Cloud Integrations7
- Art & Culture4
- Language Translation3
- Legal & Compliance2
Build
Okay, I can help you understand how to use the TypeScript SDK to create different MCP (Model Configuration Protocol) servers. However, I need a little more information to give you the *most* helpful and specific answer. Please tell me: 1. **What MCP server are you trying to create?** Are you trying to create a custom MCP server for a specific game, or are you trying to create a generic MCP server? 2. **What TypeScript SDK are you referring to?** There are many TypeScript SDKs that could be used to create an MCP server. Please provide the name of the SDK or a link to the documentation. 3. **What functionality do you need?** What specific features do you need your MCP server to support? For example, do you need to support authentication, authorization, or data validation? In the meantime, here's a general outline of how you might approach creating an MCP server using TypeScript, assuming you're building a custom server and not using a pre-built SDK (which would have its own specific instructions): **General Approach (Custom Implementation):** 1. **Project Setup:** * Initialize a new TypeScript project: ```bash mkdir my-mcp-server cd my-mcp-server npm init -y npm install typescript --save-dev npm install express body-parser cors --save # Common dependencies for a web server npm install --save-dev @types/node @types/express @types/body-parser @types/cors # Type definitions npx tsc --init # Initialize tsconfig.json ``` * Configure `tsconfig.json`: Adjust settings like `target`, `module`, `outDir`, `rootDir`, `esModuleInterop`, and `strict` to suit your project's needs. A basic example: ```json { "compilerOptions": { "target": "es6", "module": "commonjs", "outDir": "./dist", "rootDir": "./src", "strict": true, "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true }, "include": ["src/**/*"], "exclude": ["node_modules"] } ``` 2. **Define Data Structures (Interfaces/Types):** * Create TypeScript interfaces or types to represent the data structures used in the MCP protocol. This will depend entirely on the specific MCP protocol you're implementing. For example: ```typescript // src/types/mcp.ts export interface ModelConfiguration { modelId: string; version: number; parameters: { [key: string]: any }; } export interface MCPRequest { requestId: string; action: "get" | "set" | "delete"; modelId?: string; configuration?: ModelConfiguration; } export interface MCPResponse { requestId: string; status: "success" | "error"; data?: ModelConfiguration | null; error?: string; } ``` 3. **Implement the Server (using Express.js):** * Create an Express.js server to handle MCP requests. ```typescript // src/index.ts import express, { Request, Response } from 'express'; import bodyParser from 'body-parser'; import cors from 'cors'; import { MCPRequest, MCPResponse, ModelConfiguration } from './types/mcp'; const app = express(); const port = 3000; app.use(cors()); app.use(bodyParser.json()); // In-memory storage (replace with a database in a real application) const modelConfigurations: { [modelId: string]: ModelConfiguration } = {}; app.post('/mcp', (req: Request, res: Response) => { const mcpRequest: MCPRequest = req.body; console.log("Received MCP Request:", mcpRequest); switch (mcpRequest.action) { case "get": if (!mcpRequest.modelId) { sendErrorResponse(res, mcpRequest.requestId, "Model ID is required for 'get' action."); return; } const config = modelConfigurations[mcpRequest.modelId]; if (config) { sendSuccessResponse(res, mcpRequest.requestId, config); } else { sendSuccessResponse(res, mcpRequest.requestId, null); // Model not found } break; case "set": if (!mcpRequest.configuration) { sendErrorResponse(res, mcpRequest.requestId, "Configuration is required for 'set' action."); return; } if (!mcpRequest.configuration.modelId) { sendErrorResponse(res, mcpRequest.requestId, "Model ID is required in the configuration for 'set' action."); return; } modelConfigurations[mcpRequest.configuration.modelId] = mcpRequest.configuration; sendSuccessResponse(res, mcpRequest.requestId, mcpRequest.configuration); break; case "delete": if (!mcpRequest.modelId) { sendErrorResponse(res, mcpRequest.requestId, "Model ID is required for 'delete' action."); return; } delete modelConfigurations[mcpRequest.modelId]; sendSuccessResponse(res, mcpRequest.requestId, null); break; default: sendErrorResponse(res, mcpRequest.requestId, "Invalid action."); } }); function sendSuccessResponse(res: Response, requestId: string, data: ModelConfiguration | null) { const response: MCPResponse = { requestId: requestId, status: "success", data: data, }; res.json(response); } function sendErrorResponse(res: Response, requestId: string, errorMessage: string) { const response: MCPResponse = { requestId: requestId, status: "error", error: errorMessage, }; res.status(400).json(response); } app.listen(port, () => { console.log(`MCP Server listening at http://localhost:${port}`); }); ``` 4. **Implement MCP Logic:** * Implement the core logic for handling MCP requests. This will involve: * Parsing the request. * Validating the request. * Retrieving, updating, or deleting model configurations. * Constructing the response. 5. **Data Storage:** * Choose a data storage mechanism to store model configurations. This could be: * In-memory storage (for simple prototypes). * A file-based database (e.g., SQLite). * A relational database (e.g., PostgreSQL, MySQL). * A NoSQL database (e.g., MongoDB, Redis). 6. **Error Handling:** * Implement robust error handling to gracefully handle invalid requests, data validation errors, and other potential issues. 7. **Authentication and Authorization (if needed):** * If your MCP server needs to be secure, implement authentication and authorization mechanisms to control access to model configurations. 8. **Build and Run:** * Compile the TypeScript code: `npm run build` (or `tsc` if you haven't configured a build script). * Run the server: `node dist/index.js` **Example Request (using `curl`):** ```bash curl -X POST -H "Content-Type: application/json" -d '{ "requestId": "123", "action": "set", "configuration": { "modelId": "myModel", "version": 1, "parameters": { "param1": "value1", "param2": 123 } } }' http://localhost:3000/mcp ``` **Important Considerations:** * **Security:** If your MCP server will be exposed to a network, security is paramount. Use HTTPS, implement authentication and authorization, and carefully validate all input. * **Scalability:** If you anticipate a high volume of requests, consider using a scalable architecture, such as a load balancer and multiple server instances. * **Monitoring:** Implement monitoring to track the health and performance of your MCP server. * **Testing:** Write unit tests and integration tests to ensure that your MCP server is working correctly. **Example `package.json` (with build script):** ```json { "name": "my-mcp-server", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "build": "tsc", "start": "node dist/index.js", "dev": "ts-node-dev --respawn src/index.ts" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "body-parser": "^1.20.2", "cors": "^2.8.5", "express": "^4.18.2" }, "devDependencies": { "@types/body-parser": "^1.19.5", "@types/cors": "^2.8.17", "@types/express": "^4.17.21", "@types/node": "^20.10.5", "ts-node-dev": "^2.0.0", "typescript": "^5.3.3" } } ``` **To run this example:** 1. Save the code into the appropriate files (e.g., `src/index.ts`, `src/types/mcp.ts`). 2. Run `npm install` to install dependencies. 3. Run `npm run build` to compile the TypeScript code. 4. Run `npm start` to start the server. **Next Steps:** Provide more details about the specific MCP server you're trying to create, the SDK you're using, and the functionality you need, and I can give you more tailored guidance.
Iris MCP Server
A multi-backend gateway that enables access to various services like Google Drive and Notion through a single MCP connector. It currently provides comprehensive Google Drive integration for reading, writing, and managing files and folders.
Prompt Bookmarks
Enables users to organize, search, and manage a shared library of prompts across AI tools via the Model Context Protocol. It supports hierarchical folder organization, tagging, and template variable substitution for dynamic prompt generation.
Android Puppeteer
Enables AI agents to interact with Android devices through visual UI element detection and automated interactions. Provides comprehensive Android automation capabilities including touch gestures, text input, screenshots, and video recording via uiautomator2.
agentranking
Discover and rank ERC-8004 AI agents by archetype, chain, trust score, and verified on-chain performance. Free search tools + paid analytics via x402 micropayments.
@archawat/mcp-cloudflare
MCP server for managing Cloudflare DNS across multiple zones from a single API token, enabling bulk operations like toggling proxy, listing records, and batch updates.
MCP Vaultwarden Server
Enables AI agents and automation scripts to securely interact with self-hosted Vaultwarden instances through the Bitwarden CLI, automatically managing vault sessions and providing tools to read, create, update, and delete secrets programmatically.
Agent MCP
A Multi-Agent Collaboration Protocol server that enables coordinated AI collaboration through task management, context sharing, and agent interaction visualization.
MCP Weather Server
A containerized server that provides weather tools for AI assistants, allowing them to access US weather alerts and forecasts through the National Weather Service API.
ChatRPG
A lightweight ChatGPT app that converts your LLM into a Dungeon Master!
Slack Lists MCP Server
Enables AI assistants to interact with Slack Lists through comprehensive tools for creating, retrieving, filtering, and managing list items. Supports bulk operations, data export, subtask creation, and all Slack List field types with robust error handling and production-ready implementation.
FastMCP Demo Server
A production-ready MCP server that provides hackathon resources and reusable starter prompts. Built with FastMCP framework and includes comprehensive deployment options for development and production environments.
hokan MCP Server
An unofficial MCP server that integrates with the hokan Insurance CRM API v2 to manage customer data, schedules, and tasks. It also features specialized tools for Japanese insurance law compliance, including intent confirmation and regulatory check generation.
Fortnox Doc MCP
Provides comprehensive documentation for 377 Fortnox API endpoints and 81 resource categories directly from the official OpenAPI specification. It enables users to search, browse, and explore technical endpoint details and data schemas within AI assistants without requiring authentication.
MCP Server
An extensible MCP server with weather and time tools for Claude Desktop. It provides current time with automatic timezone detection, weather alerts for US states, and 5-period forecasts for coordinates.
OpenAPI MCP Server
Permitir que a IA analise OpenAPIs complexas usando Linguagem Simples.
Timepoint MCP
Provides structured access to a temporal knowledge platform for searching historical events and browsing a causal graph of over 2,000 years of history. It enables users to generate rich historical scenes, interact with period-appropriate characters, and run complex temporal simulations.
MCP Server for MySQL
Provides access to MySQL databases with fine-grained access control, supporting multiple databases simultaneously with configurable access modes (readonly, readwrite, full) and table-level permissions using whitelists, blacklists, wildcards, and regex patterns.
Sequential Questioning MCP Server
A specialized server that enables LLMs to gather specific information through sequential questioning, implementing the MCP standard for seamless integration with LLM clients.
arc-mcp
An MCP server for the Arc browser that enables programmatic management of spaces and tabs. It supports actions like listing, creating, and deleting spaces and tabs, as well as focusing spaces and opening URLs via AppleScript.
Ticket Tailor API Integration
mcp_sdk_petstore_api_44
A standalone MCP server generated from an OpenAPI specification that exposes Petstore API endpoints as tools for AI assistants. It utilizes SSE transport to enable models to interact with pet store management functionalities through natural language.
Omni Server
Um servidor MCP para se familiarizar com o Protocolo de Contexto de Modelo.
myinstants-mcp
Enables AI agents to search, browse, and play millions of meme sounds and sound effects from myinstants.com directly through the user's speakers. It supports streaming audio for trending clips, categories, and viral soundboard buttons to enhance agent interactions with reactive audio.
MCP SQL Server Pro
Provides direct SQL query access to Microsoft SQL Server databases with full CRUD operations, enabling AI assistants to execute queries, modify data, and manage database objects through a simplified interface.
MCP Crypto Portfolio
Connects Claude AI to KuCoin portfolio and Notion workspace for real-time crypto portfolio management, automated reporting, and AI-powered risk analysis with enterprise-grade security and observability.
Elasticsearch MCP Server by CData
Elasticsearch MCP Server by CData
Image Converter MCP Server
Enables conversion between multiple image formats including JPG, PNG, WebP, GIF, BMP, TIFF, SVG, ICO, and AVIF with quality control and batch processing capabilities.
MCP Terminal & Git Server
Enables execution of terminal commands, git operations, and automated setup of React, Vue, and Next.js projects with VSCode integration.
FPF Agent Stack
Enables offline AI agent automation with embedded local LLM (Qwen 2.5), sandboxed file operations through AgentFS, and dynamic skill loading. Exposes capabilities via MCP with tri-state safety guards for private, air-gapped environments without network connectivity or API costs.