Discover Awesome MCP Servers
Extend your agent with 84,516 capabilities via MCP servers.
- All84,516
- 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
Nerq MCP Server
Provides trust scores, comparisons, and search for software entities, AI tools, packages, and MCP servers using Nerq's Trust Score system.
Dojo Genesis MCP Server
An MCP server that provides Claude Code with 99 methodology skills, seed patterns, decision logging, and memory tools to improve software development decisions. It acts as a cognitive scaffold layer, enabling better working methods rather than just additional data.
@theyahia/voximplant-mcp
MCP server for Voximplant API enabling calls, SMS, recordings, scenarios, and rules management with 11 tools and 2 skills.
MarkdownMCP
Live markdown preview for LLM agents. Call a single tool to watch a markdown file and it opens a browser UI that streams rendered updates, changes, and history.
Task API MCP
Enables AI clients to create and manage tasks via a local REST API by converting natural language into HTTP requests through the Model Context Protocol.
Stamp it
An MCP server that adds full-screen text or image watermarks to images with intelligent color adaptation and multi-language support.
PostgreSQL MCP Server
Enables LLMs to interact deeply with PostgreSQL databases—query data, manage schema, analyze performance, and administer the database.
Enterprise Template Generator
Enables generation of enterprise-grade software templates with built-in GDPR/Swedish compliance validation, workflow automation for platform migrations, and comprehensive template management through domain-driven design principles.
ChatRPG
A lightweight ChatGPT app that converts your LLM into a Dungeon Master!
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.
MailFathom
A brain for your mail: MailFathom turns IMAP mailboxes into a self-hosted, AI-native service.
mcp-units
MCP server for converting cooking measurements (volume, weight, temperature) between common units like ml, cup, g, oz, and Celsius/Fahrenheit.
MCP-Discord
Enables AI assistants to interact with Discord servers through a bot, supporting channel management, messaging, forum operations, reactions, and webhooks.
MCP Document Indexer
Enables real-time indexing and semantic search of local documents (PDF, Word, text, Markdown, RTF) using vector embeddings and local LLMs. Monitors folders for changes and provides natural language search capabilities through Claude Desktop integration.
mcp-homebrew-formulae
Query Homebrew formulae, casks, and install analytics through natural language or direct tool calls.
Apple Maps MCP Server
Search Apple Maps for businesses with Apple ratings and aggregated Yelp and TripAdvisor reviews. Useful for lead generation, restaurant research, and competitive analysis.
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.
hive-exp
An MCP server enabling AI agents to record, query, and share structured problem-solving experiences with human review and confidence decay.
Bocha Search MCP
Um motor de busca focado em IA que permite que aplicações de IA acessem conhecimento de alta qualidade de bilhões de páginas da web e fontes de conteúdo do ecossistema em vários domínios, incluindo clima, notícias, enciclopédia, informações médicas, passagens de trem e imagens.
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.
mcp-dostuff
Enables listing metros and fetching events from the DoStuff network via MCP.
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.
Test Generator MCP Server
Enables automatic generation of test scenarios from user stories uploaded to Claude desktop. Leverages MCP integration to streamline the test case creation process for development workflows.
spring-mosaic
MCP server for Java/Spring Boot architecture quality analysis and PR review, providing tools like detect_spring_context, review_pr_diff, and scan_violations.
mcp-rag-search
Enables agent tools like Claude Code and GitHub Copilot to perform knowledge retrieval using hybrid search (BM25 + dense) with reranking, via MCP protocol.
diabase
Diabase is an MCP server that provides a safe control plane for AI agents to manage Supabase backends, with features like planning, approval workflows, and audit trails.
overleaf-claude-mcp
An MCP server that lets Claude read, write, and push Overleaf LaTeX projects from the chat, with token-efficient features like sparse checkout and smart diffs.
Polvenn MCP Server
A local-first MCP server for tracking beer releases on Vinmonopolet, enabling users to search new and upcoming beers, check store stock, find nearby stores, and manage watchlists.
safe-ssh-mcp
A secure SSH MCP server that enables execution of read-only diagnostic commands over SSH, preventing modifications to remote systems.