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
MCP-101
keila-mcp
An MCP server for the Keila newsletter API that enables management of contacts, campaigns, segments, and senders. It allows users to create, schedule, and send newsletters directly through natural language interactions.
Speikzeug
Conjunto de herramientas moderno con integración de servidor MCP para el procesamiento automatizado de datos y la anonimización del sistema.
Ableton MCP Extended
Enables programmatic control over Ableton Live sessions through natural language commands for managing tracks, MIDI clips, and device parameters. It also integrates with ElevenLabs to generate and import AI-based audio and voice elements directly into the DAW.
MCP-Gateway
MCP-Gateway es un servicio que proporciona capacidades unificadas de gestión del servidor MCP, ayudando a los Agentes de IA a conectarse rápidamente a varias fuentes de datos. A través del servidor MCP, los Agentes de IA pueden acceder fácilmente a bases de datos, API REST y otros servicios externos sin preocuparse por los detalles específicos de la conexión.
MCP MySQL Server
Enables AI assistants to safely query MySQL databases with read-only access by default, supporting table listing, structure inspection, and SQL queries with optional write operation control.
Alayman MCP Server
Enables access to articles from alayman.io, allowing users to fetch, search, and filter technical content through natural language. It supports pagination and keyword-based filtering for specific topics like React, Angular, and TypeScript.
go-mcp-server-mds
Aquí tienes una implementación en Go de un servidor del Protocolo de Contexto de Modelo (MCP) que sirve archivos Markdown con soporte para frontmatter desde un sistema de archivos: ```go package main import ( "encoding/json" "fmt" "io/ioutil" "log" "net/http" "os" "path/filepath" "strings" "github.com/gomarkdown/markdown" "gopkg.in/yaml.v2" ) // Configuración para el servidor MCP. type Config struct { Port int `yaml:"port"` // Puerto en el que escucha el servidor. ContentDir string `yaml:"content_dir"` // Directorio donde se encuentran los archivos Markdown. BaseURL string `yaml:"base_url"` // URL base para los endpoints del MCP. DefaultTitle string `yaml:"default_title"` // Título por defecto si no se encuentra en el frontmatter. } // Frontmatter extraído de los archivos Markdown. type Frontmatter struct { Title string `yaml:"title"` Description string `yaml:"description"` Tags []string `yaml:"tags"` // Agrega otros campos que necesites. } // Contexto del modelo que se devuelve como respuesta del MCP. type ModelContext struct { Title string `json:"title"` Description string `json:"description"` Content string `json:"content"` // Contenido HTML renderizado. Tags []string `json:"tags"` // Agrega otros campos que necesites. } // loadConfig carga la configuración desde un archivo YAML. func loadConfig(filename string) (Config, error) { var config Config yamlFile, err := ioutil.ReadFile(filename) if err != nil { return config, fmt.Errorf("error leyendo el archivo de configuración: %w", err) } err = yaml.Unmarshal(yamlFile, &config) if err != nil { return config, fmt.Errorf("error deserializando el archivo YAML: %w", err) } return config, nil } // parseMarkdownFile lee un archivo Markdown, extrae el frontmatter y convierte el contenido a HTML. func parseMarkdownFile(filename string, defaultConfig Config) (ModelContext, error) { content, err := ioutil.ReadFile(filename) if err != nil { return ModelContext{}, fmt.Errorf("error leyendo el archivo Markdown: %w", err) } // Separar frontmatter del contenido. parts := strings.SplitN(string(content), "---", 3) var frontmatter Frontmatter markdownContent := string(content) // Por defecto, usa todo el contenido. if len(parts) >= 3 { err = yaml.Unmarshal([]byte(parts[1]), &frontmatter) if err != nil { log.Printf("Advertencia: error deserializando el frontmatter en %s: %v", filename, err) // Continúa sin el frontmatter. } markdownContent = parts[2] } // Convertir Markdown a HTML. htmlContent := markdown.ToHTML([]byte(markdownContent), nil, nil) // Crear el contexto del modelo. modelContext := ModelContext{ Title: frontmatter.Title, Description: frontmatter.Description, Content: string(htmlContent), Tags: frontmatter.Tags, } // Usar valores por defecto si no están en el frontmatter. if modelContext.Title == "" { modelContext.Title = defaultConfig.DefaultTitle } return modelContext, nil } // mcpHandler maneja las solicitudes al endpoint del MCP. func mcpHandler(config Config) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { // Obtener el nombre del archivo desde la URL. filename := r.URL.Path[len(config.BaseURL):] // Elimina la URL base. filename = filepath.Join(config.ContentDir, filename) + ".md" // Agrega la extensión .md. // Verificar si el archivo existe. if _, err := os.Stat(filename); os.IsNotExist(err) { http.Error(w, "Archivo no encontrado", http.StatusNotFound) return } // Parsear el archivo Markdown. modelContext, err := parseMarkdownFile(filename, config) if err != nil { log.Printf("Error parseando el archivo Markdown %s: %v", filename, err) http.Error(w, "Error interno del servidor", http.StatusInternalServerError) return } // Convertir el contexto del modelo a JSON. w.Header().Set("Content-Type", "application/json") err = json.NewEncoder(w).Encode(modelContext) if err != nil { log.Printf("Error serializando a JSON: %v", err) http.Error(w, "Error interno del servidor", http.StatusInternalServerError) return } } } func main() { // Cargar la configuración. config, err := loadConfig("config.yaml") if err != nil { log.Fatalf("Error cargando la configuración: %v", err) } // Crear el manejador del MCP. mcpHandlerFunc := mcpHandler(config) // Registrar el manejador en la ruta especificada en la configuración. http.HandleFunc(config.BaseURL, mcpHandlerFunc) // Iniciar el servidor. addr := fmt.Sprintf(":%d", config.Port) log.Printf("Servidor MCP escuchando en %s", addr) log.Fatal(http.ListenAndServe(addr, nil)) } ``` **Explicación del código:** 1. **Estructuras de Datos:** * `Config`: Define la estructura para la configuración del servidor, incluyendo el puerto, el directorio de contenido, la URL base y un título por defecto. * `Frontmatter`: Representa los metadatos extraídos del frontmatter YAML en los archivos Markdown. * `ModelContext`: La estructura de datos que se devuelve como respuesta del servidor MCP. Contiene el título, la descripción, el contenido HTML renderizado y las etiquetas. 2. **`loadConfig(filename string) (Config, error)`:** * Carga la configuración desde un archivo YAML. * Utiliza la librería `gopkg.in/yaml.v2` para deserializar el archivo YAML en la estructura `Config`. * Maneja errores al leer el archivo o al deserializar el YAML. 3. **`parseMarkdownFile(filename string, defaultConfig Config) (ModelContext, error)`:** * Lee el archivo Markdown especificado. * Divide el contenido del archivo en tres partes usando `strings.SplitN(string(content), "---", 3)`. Esto asume que el frontmatter está delimitado por `---` al principio y al final. * Intenta deserializar la segunda parte (el frontmatter) en la estructura `Frontmatter` usando `yaml.Unmarshal`. * Convierte el contenido Markdown a HTML usando la librería `github.com/gomarkdown/markdown`. * Crea una instancia de `ModelContext` con los datos extraídos del frontmatter y el contenido HTML. * Si el título no está presente en el frontmatter, utiliza el título por defecto de la configuración. * Maneja errores al leer el archivo o al deserializar el frontmatter. 4. **`mcpHandler(config Config) http.HandlerFunc`:** * Esta función devuelve un `http.HandlerFunc` que maneja las solicitudes al endpoint del MCP. * Extrae el nombre del archivo de la URL de la solicitud. * Construye la ruta completa al archivo Markdown combinando el directorio de contenido de la configuración y el nombre del archivo. * Verifica si el archivo existe usando `os.Stat`. * Llama a `parseMarkdownFile` para parsear el archivo Markdown y obtener el `ModelContext`. * Convierte el `ModelContext` a JSON usando `json.NewEncoder`. * Establece el encabezado `Content-Type` a `application/json`. * Escribe la respuesta JSON al cliente. * Maneja errores si el archivo no existe, si hay un error al parsear el archivo Markdown o si hay un error al serializar a JSON. 5. **`main()`:** * Carga la configuración usando `loadConfig`. * Crea el manejador del MCP usando `mcpHandler`. * Registra el manejador en la ruta especificada en la configuración usando `http.HandleFunc`. * Inicia el servidor HTTP usando `http.ListenAndServe`. **Cómo usarlo:** 1. **Instala las dependencias:** ```bash go get gopkg.in/yaml.v2 go get github.com/gomarkdown/markdown ``` 2. **Crea un archivo `config.yaml`:** ```yaml port: 8080 content_dir: content base_url: /mcp/ default_title: "Título por Defecto" ``` * `port`: El puerto en el que el servidor escuchará. * `content_dir`: El directorio donde se almacenan tus archivos Markdown. * `base_url`: La URL base para el endpoint del MCP. Por ejemplo, si es `/mcp/`, entonces las solicitudes a `/mcp/mi-archivo` servirán el archivo `content/mi-archivo.md`. * `default_title`: El título que se usará si el frontmatter no contiene un título. 3. **Crea un directorio `content` y agrega archivos Markdown con frontmatter:** Ejemplo: `content/mi-articulo.md` ```markdown --- title: "Mi Artículo Genial" description: "Una descripción de mi artículo." tags: [go, markdown, mcp] --- # Este es el título del artículo Este es el contenido del artículo. ``` 4. **Ejecuta el servidor:** ```bash go run main.go ``` 5. **Accede al endpoint del MCP:** Abre tu navegador y ve a `http://localhost:8080/mcp/mi-articulo` (o la URL que corresponda a tu configuración y nombre de archivo). Deberías ver una respuesta JSON con el título, la descripción, el contenido HTML y las etiquetas del archivo `mi-articulo.md`. **Puntos importantes:** * **Manejo de Errores:** El código incluye manejo de errores para la lectura de archivos, el parseo de YAML y la serialización de JSON. Es importante manejar los errores adecuadamente para que el servidor sea robusto. * **Seguridad:** Este código es un ejemplo básico y no incluye medidas de seguridad. En un entorno de producción, deberías considerar medidas de seguridad como la validación de la entrada del usuario, la protección contra ataques de inyección y la autenticación/autorización. * **Rutas:** La lógica para construir las rutas de los archivos es simple. Podrías necesitar ajustarla para que se adapte a tus necesidades específicas. * **Frontmatter:** El código asume que el frontmatter está delimitado por `---`. Puedes modificarlo si usas un delimitador diferente. * **Librerías:** Asegúrate de tener instaladas las librerías `gopkg.in/yaml.v2` y `github.com/gomarkdown/markdown`. * **Configuración:** Es una buena práctica cargar la configuración desde un archivo externo para que puedas modificar el comportamiento del servidor sin tener que recompilar el código. * **Logging:** El código usa `log.Printf` para registrar mensajes. Considera usar una librería de logging más avanzada para un mejor manejo de los logs. Este ejemplo proporciona una base sólida para construir un servidor MCP que sirve archivos Markdown con soporte para frontmatter. Puedes personalizarlo y extenderlo para que se adapte a tus necesidades específicas.
Hong Kong Creative Goods Trade MCP Server
Provides access to Hong Kong's recreation, sports, and cultural data through a FastMCP interface, allowing users to retrieve statistics on creative goods trade including domestic exports, re-exports, and imports with optional year filtering.
FreightUtils MCP Server
AI agent access to 11 freight calculation and reference tools — LDM, CBM, chargeable weight, pallet fitting, ADR dangerous goods (2,939 entries), airline codes (6,352), HS codes (6,940), INCOTERMS, container specs, unit converter, and ADR 1.1.3.6 exemption calculator.
Sequential Thinking Tool API
A Node.js/TypeScript backend for managing sequential thinking sessions, allowing users to create sessions and post thoughts in a structured sequence with support for real-time updates via Server-Sent Events.
MCP Documentation Server
Enables semantic search and retrieval of MCP (Model Context Protocol) documentation using Redis-backed embeddings, allowing users to query and access documentation content through natural language.
Voice MCP
Enables voice interaction with Claude Code through local speech-to-text (Whisper) and text-to-speech (Supertonic), allowing verbal input/output without external API calls.
Remote MCP Server
A Cloudflare Workers-based MCP server that enables tool integration with Claude AI through OAuth login, allowing users to extend Claude's capabilities with custom tools like mathematical operations.
Finance MCP Server
A Model Context Protocol server built with FastMCP that provides financial data tools for AI agents, enabling them to access and analyze stock market information from Yahoo Finance through natural language queries.
mcp-hub
A self-hosted remote MCP server that provides reusable prompts and development conventions across various AI tools. It features a modular architecture for organizing and namespacing custom prompts to streamline AI-assisted coding workflows.
Facebook Ads Management Control Panel
A Node.js Express server that integrates with Facebook Marketing API to provide a platform for managing ad campaigns, analyzing performance, and receiving optimization recommendations.
GCP MCP
Enables AI assistants to interact with Google Cloud Platform resources through natural language queries. Supports querying and managing GCP services like Compute Engine, Cloud Storage, BigQuery, and more across multiple projects and regions.
bbkt
A Bitbucket CLI and MCP server written in Go for managing workspaces, repositories, pull requests, pipelines, issues, and source code. Supports stdio and HTTP transport.
Fed Speech MCP
Retrieves, parses, and analyzes speeches and testimonies from Federal Reserve officers, enabling searches by speaker, topic, and keyword with automatic RSS feed discovery and intelligent relevance scoring.
mpd-mcp-server
Reddit MCP Server
Enables read-only access to Reddit for searching posts within specific subreddits using OAuth2 authentication. It allows users to search by query and sort results by relevance, popularity, or date.
MCP Servers Search
Enables discovery and querying of available MCP servers from the official repository. Supports searching by name, description, features, categories, and provides random server suggestions for exploration.
mcplex
An MCP server that bridges local Ollama models and ChromaDB vector memory to MCP clients like Claude Code. It enables local text generation, vision-based image analysis, and semantic memory storage without requiring external API keys.
Chess MCP
Play interactive chess games through conversation with move validation, Stockfish engine analysis, tactical puzzles, and a visual chess board widget in ChatGPT.
Metabase MCP Server
Enables AI assistants to interact with Metabase analytics platform, allowing them to query databases, manage dashboards and cards, execute SQL queries, and access analytics data through natural language.
Zerodha Trading MCP
A Model Context Protocol server that enables AI models to interact with the Zerodha trading platform, allowing users to execute trades, view portfolio holdings, and manage positions through a standardized interface.
Invoker MCP Server
Enables AI agents to create, run, and manage HTTP requests using the Invoker API client's .ivk format. It provides tools for scanning collections, executing requests, managing environments, and building documentation sites.
mcp-pandoc-md2pptx
Enables conversion of Markdown content into PowerPoint presentations using pandoc. Supports custom templates for consistent branding and can process both direct markdown text and files.
mcp-playwright
this is my first mcp