From d6ba04b711f7f048aa5af8ce6a3bc8519c9717ce Mon Sep 17 00:00:00 2001 From: tszhim_tech Date: Sun, 23 Mar 2025 01:30:43 +0800 Subject: [PATCH 01/26] Add Plane MCP --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index acdc3624..cb31fed1 100644 --- a/README.md +++ b/README.md @@ -278,6 +278,7 @@ A growing set of community-developed and maintained servers demonstrates various - **[Pinecone](https://github.com/sirmews/mcp-pinecone)** - MCP server for searching and uploading records to Pinecone. Allows for simple RAG features, leveraging Pinecone's Inference API. - **[Placid.app](https://github.com/felores/placid-mcp-server)** - Generate image and video creatives using Placid.app templates - **[Playwright](https://github.com/executeautomation/mcp-playwright)** - This MCP Server will help you run browser automation and webscraping using Playwright +- **[Plane](https://github.com/kelvin6365/plane-mcp-server)** - This MCP Server will help you to manage projects and issues through Plane's API - **[Postman](https://github.com/shannonlal/mcp-postman)** - MCP server for running Postman Collections locally via Newman. Allows for simple execution of Postman Server and returns the results of whether the collection passed all the tests. - **[Productboard](https://github.com/kenjihikmatullah/productboard-mcp)** - Integrate the Productboard API into agentic workflows via MCP. - **[Prometheus](https://github.com/pab1it0/prometheus-mcp-server)** - Query and analyze Prometheus - open-source monitoring system. From b5a907263c77c2fa6bd40db38609cbf98b290ec6 Mon Sep 17 00:00:00 2001 From: Brian Buvinghausen Date: Tue, 1 Apr 2025 08:39:10 -0500 Subject: [PATCH 02/26] Fix docker warnings --- src/puppeteer/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/puppeteer/Dockerfile b/src/puppeteer/Dockerfile index d0f58a3a..6bcfbb97 100644 --- a/src/puppeteer/Dockerfile +++ b/src/puppeteer/Dockerfile @@ -1,12 +1,12 @@ FROM node:22-bookworm-slim -ENV DEBIAN_FRONTEND noninteractive +ENV DEBIAN_FRONTEND=noninteractive # for arm64 support we need to install chromium provided by debian # npm ERR! The chromium binary is not available for arm64. # https://github.com/puppeteer/puppeteer/issues/7740 -ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true +ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium RUN apt-get update && \ From c5de8bdf3f33090471199764370da9b0046ab59b Mon Sep 17 00:00:00 2001 From: Jun Date: Tue, 1 Apr 2025 22:28:22 -0500 Subject: [PATCH 03/26] Add a Puppeteer tool to capture screenshot as raw base64 text --- src/puppeteer/README.md | 8 ++++++ src/puppeteer/index.ts | 55 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) diff --git a/src/puppeteer/README.md b/src/puppeteer/README.md index 4eab314c..50f8b82e 100644 --- a/src/puppeteer/README.md +++ b/src/puppeteer/README.md @@ -21,6 +21,14 @@ A Model Context Protocol server that provides browser automation capabilities us - `width` (number, optional, default: 800): Screenshot width - `height` (number, optional, default: 600): Screenshot height +- **puppeteer_screenshot_encoded** + - Captures a screenshot of the entire page or a specific element and return it as a base64-encoded data URI. + - Inputs: + - `name` (string, required): Name for the screenshot + - `selector` (string, optional): CSS selector for element to screenshot + - `width` (number, optional, default: 800): Screenshot width + - `height` (number, optional, default: 600): Screenshot height + - **puppeteer_click** - Click elements on the page - Input: `selector` (string): CSS selector for element to click diff --git a/src/puppeteer/index.ts b/src/puppeteer/index.ts index 1849c783..feabec70 100644 --- a/src/puppeteer/index.ts +++ b/src/puppeteer/index.ts @@ -43,6 +43,20 @@ const TOOLS: Tool[] = [ required: ["name"], }, }, + { + name: "puppeteer_screenshot_encoded", + description: "Take a screenshot of the current page or a specific element and return it as a base64-encoded data URI", + inputSchema: { + type: "object", + properties: { + name: { type: "string", description: "Name for the screenshot" }, + selector: { type: "string", description: "CSS selector for element to screenshot" }, + width: { type: "number", description: "Width in pixels (default: 800)" }, + height: { type: "number", description: "Height in pixels (default: 600)" }, + }, + required: ["name"], + }, + }, { name: "puppeteer_click", description: "Click an element on the page", @@ -265,6 +279,47 @@ async function handleToolCall(name: string, args: any): Promise }; } + case "puppeteer_screenshot_encoded": { + const width = args.width ?? 800; + const height = args.height ?? 600; + await page.setViewport({ width, height }); + + const screenshot = await (args.selector + ? (await page.$(args.selector))?.screenshot({ encoding: "base64" }) + : page.screenshot({ encoding: "base64", fullPage: false })); + + if (!screenshot) { + return { + content: [ + { + type: "text", + text: args.selector ? `Element not found: ${args.selector}` : "Screenshot failed", + }, + ], + isError: true, + }; + } + + screenshots.set(args.name, screenshot as string); + server.notification({ + method: "notifications/resources/list_changed", + }); + + return { + content: [ + { + type: "text", + text: `Screenshot '${args.name}' taken at ${width}x${height}`, + } as TextContent, + { + type: "text", + text: `data:image/png;base64,${screenshot}`, + } as TextContent, + ], + isError: false, + }; + } + case "puppeteer_click": try { await page.click(args.selector); From c5dedbb343121e0e54708d8f24eade038a971cdc Mon Sep 17 00:00:00 2001 From: Ali Hashemi Date: Sat, 19 Apr 2025 10:57:44 -0300 Subject: [PATCH 04/26] chore: add rust mcp filesystem to community servers --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 38f1dada..bf92ac2c 100644 --- a/README.md +++ b/README.md @@ -348,6 +348,7 @@ A growing set of community-developed and maintained servers demonstrates various - **[Rquest](https://github.com/xxxbrian/mcp-rquest)** - An MCP server providing realistic browser-like HTTP request capabilities with accurate TLS/JA3/JA4 fingerprints for bypassing anti-bot measures. - **[Rijksmuseum](https://github.com/r-huijts/rijksmuseum-mcp)** - Interface with the Rijksmuseum API to search artworks, retrieve artwork details, access image tiles, and explore user collections. - **[Riot Games](https://github.com/jifrozen0110/mcp-riot)** - MCP server for League of Legends – fetch player info, ranks, champion stats, and match history via Riot API. +- **[Rust MCP Filesystem](https://github.com/rust-mcp-stack/rust-mcp-filesystem)** - Fast, asynchronous MCP server for efficient handling of various filesystem operations built with the power of Rust. - **[Salesforce MCP](https://github.com/smn2gnt/MCP-Salesforce)** - Interact with Salesforce Data and Metadata - **[Scholarly](https://github.com/adityak74/mcp-scholarly)** - A MCP server to search for scholarly and academic articles. - **[scrapling-fetch](https://github.com/cyberchitta/scrapling-fetch-mcp)** - Access text content from bot-protected websites. Fetches HTML/markdown from sites with anti-automation measures using Scrapling. From 2e25c60bfbaec752fe2c1739b05126d769d11ea8 Mon Sep 17 00:00:00 2001 From: VivekKumarNeu Date: Sat, 19 Apr 2025 18:32:45 -0700 Subject: [PATCH 05/26] add lucene mcp server --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a7eaf946..831b83e1 100644 --- a/README.md +++ b/README.md @@ -406,6 +406,7 @@ A growing set of community-developed and maintained servers demonstrates various - **[YouTube](https://github.com/Klavis-AI/klavis/tree/main/mcp_servers/youtube)** - Extract Youtube video information (with proxies support). - **[YouTube](https://github.com/ZubeidHendricks/youtube-mcp-server)** - Comprehensive YouTube API integration for video management, Shorts creation, and analytics. - **[mcp_weather](https://github.com/isdaniel/mcp_weather_server)** - Get weather information from https://api.open-meteo.com API. +- **[mcp-lucene-server](https://github.com/VivekKumarNeu/MCP-Lucene-Server)** - spring boot server using Lucene for fast document search and management. ## 📚 Frameworks From 943252994b7a07cfee459d41bc9da74cf5f4bd24 Mon Sep 17 00:00:00 2001 From: VivekKumarNeu Date: Sat, 19 Apr 2025 22:51:33 -0700 Subject: [PATCH 06/26] add lucene mcp server --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 831b83e1..7629a2c2 100644 --- a/README.md +++ b/README.md @@ -279,6 +279,7 @@ A growing set of community-developed and maintained servers demonstrates various - **[LINE](https://github.com/amornpan/py-mcp-line)** (by amornpan) - Implementation for LINE Bot integration that enables Language Models to read and analyze LINE conversations through a standardized interface. Features asynchronous operation, comprehensive logging, webhook event handling, and support for various message types. - **[LlamaCloud](https://github.com/run-llama/mcp-server-llamacloud)** (by marcusschiesser) - Integrate the data stored in a managed index on [LlamaCloud](https://cloud.llamaindex.ai/) - **[llm-context](https://github.com/cyberchitta/llm-context.py)** - Provides a repo-packing MCP tool with configurable profiles that specify file inclusion/exclusion patterns and optional prompts. +- **[lucene-mcp-server](https://github.com/VivekKumarNeu/MCP-Lucene-Server)** - spring boot server using Lucene for fast document search and management. - **[mac-messages-mcp](https://github.com/carterlasalle/mac_messages_mcp)** - An MCP server that securely interfaces with your iMessage database via the Model Context Protocol (MCP), allowing LLMs to query and analyze iMessage conversations. It includes robust phone number validation, attachment processing, contact management, group chat handling, and full support for sending and receiving messages. - **[MariaDB](https://github.com/abel9851/mcp-server-mariadb)** - MariaDB database integration with configurable access controls in Python. - **[Markdown2doc](https://github.com/Klavis-AI/klavis/tree/main/mcp_servers/pandoc)** - Convert between various file formats using Pandoc @@ -406,7 +407,7 @@ A growing set of community-developed and maintained servers demonstrates various - **[YouTube](https://github.com/Klavis-AI/klavis/tree/main/mcp_servers/youtube)** - Extract Youtube video information (with proxies support). - **[YouTube](https://github.com/ZubeidHendricks/youtube-mcp-server)** - Comprehensive YouTube API integration for video management, Shorts creation, and analytics. - **[mcp_weather](https://github.com/isdaniel/mcp_weather_server)** - Get weather information from https://api.open-meteo.com API. -- **[mcp-lucene-server](https://github.com/VivekKumarNeu/MCP-Lucene-Server)** - spring boot server using Lucene for fast document search and management. + ## 📚 Frameworks From 22df04f0007f51bc512f7660c9f53dafafc35fb6 Mon Sep 17 00:00:00 2001 From: VivekKumarNeu Date: Sat, 19 Apr 2025 22:57:32 -0700 Subject: [PATCH 07/26] add lucene mcp server --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 7629a2c2..0b01d771 100644 --- a/README.md +++ b/README.md @@ -408,7 +408,6 @@ A growing set of community-developed and maintained servers demonstrates various - **[YouTube](https://github.com/ZubeidHendricks/youtube-mcp-server)** - Comprehensive YouTube API integration for video management, Shorts creation, and analytics. - **[mcp_weather](https://github.com/isdaniel/mcp_weather_server)** - Get weather information from https://api.open-meteo.com API. - ## 📚 Frameworks These are high-level frameworks that make it easier to build MCP servers or clients. From 2539e341f4c6aa9f6a2f8c84364fc551659cb1dc Mon Sep 17 00:00:00 2001 From: Ben Barnett Date: Wed, 23 Apr 2025 09:45:14 +0100 Subject: [PATCH 08/26] Add Snyk official MCP Server Enhance security posture by embedding Snyk vulnerability scanning directly into agentic workflows. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fb82a010..fa0d739d 100644 --- a/README.md +++ b/README.md @@ -124,6 +124,7 @@ Official integrations are maintained by companies building production ready MCP - **[Pinecone Assistant](https://github.com/pinecone-io/assistant-mcp)** - Retrieves context from your [Pinecone Assistant](https://docs.pinecone.io/guides/assistant/mcp-server) knowledge base. - **[Redis](https://github.com/redis/mcp-redis/)** - The Redis official MCP Server offers an interface to manage and search data in Redis. - **[Redis Cloud API](https://github.com/redis/mcp-redis-cloud/)** - The Redis Cloud API MCP Server allows you to manage your Redis Cloud resources using natural language. +- **[Snyk](https://github.com/snyk/snyk-ls/blob/main/mcp_extension/README.md)** - Enhance security posture by embedding [Snyk](https://snyk.io/) vulnerability scanning directly into agentic workflows. - **[Qdrant](https://github.com/qdrant/mcp-server-qdrant/)** - Implement semantic memory layer on top of the Qdrant vector search engine - **[Ramp](https://github.com/ramp-public/ramp-mcp)** - Interact with [Ramp](https://ramp.com)'s Developer API to run analysis on your spend and gain insights leveraging LLMs - **[Raygun](https://github.com/MindscapeHQ/mcp-server-raygun)** - Interact with your crash reporting and real using monitoring data on your Raygun account From a29c970b68db0b4b133a667ecf23ea3c277a94ef Mon Sep 17 00:00:00 2001 From: Bob Remeika Date: Fri, 25 Apr 2025 17:49:41 -0700 Subject: [PATCH 09/26] Add Ragie to third-party server list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d5d854f0..04129548 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,7 @@ Official integrations are maintained by companies building production ready MCP - Prisma Logo **[Prisma](https://www.prisma.io/docs/postgres/mcp-server)** - Create and manage Prisma Postgres databases - **[Pinecone](https://github.com/pinecone-io/pinecone-mcp)** - [Pinecone](https://docs.pinecone.io/guides/operations/mcp-server)'s developer MCP Server assist developers in searching documentation and managing data within their development environment. - **[Pinecone Assistant](https://github.com/pinecone-io/assistant-mcp)** - Retrieves context from your [Pinecone Assistant](https://docs.pinecone.io/guides/assistant/mcp-server) knowledge base. +- **[Ragie](https://github.com/ragieai/ragie-mcp-server/)** - Retrieve context from your [Ragie](https://www.ragie.ai) (RAG) knowledge base connected to integrations like Google Drive, Notion, JIRA and more. - **[Redis](https://github.com/redis/mcp-redis/)** - The Redis official MCP Server offers an interface to manage and search data in Redis. - **[Redis Cloud API](https://github.com/redis/mcp-redis-cloud/)** - The Redis Cloud API MCP Server allows you to manage your Redis Cloud resources using natural language. - **[Qdrant](https://github.com/qdrant/mcp-server-qdrant/)** - Implement semantic memory layer on top of the Qdrant vector search engine From 1037620edbdd2e1cdeb42945969c5f7ff10ddffd Mon Sep 17 00:00:00 2001 From: Kris Muhi Date: Tue, 29 Apr 2025 11:28:33 +0200 Subject: [PATCH 10/26] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 275f0667..7220c189 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,7 @@ Official integrations are maintained by companies building production ready MCP - **[Couchbase](https://github.com/Couchbase-Ecosystem/mcp-server-couchbase)** - Interact with the data stored in Couchbase clusters. - Dart Logo **[Dart](https://github.com/its-dart/dart-mcp-server)** - Interact with task, doc, and project data in [Dart](https://itsdart.com), an AI-native project management tool - DevHub Logo **[DevHub](https://github.com/devhub/devhub-cms-mcp)** - Manage and utilize website content within the [DevHub](https://www.devhub.com) CMS platform +- Dynatrace Logo **[Dynatrace](https://github.com/dynatrace-oss/dynatrace-mcp)** - Manage and interact with the [Dynatrace Platform ](https://www.dynatrace.com) for real-time observability and monitoring. - E2B Logo **[E2B](https://github.com/e2b-dev/mcp-server)** - Run code in secure sandboxes hosted by [E2B](https://e2b.dev) - EduBase Logo **[EduBase](https://github.com/EduBase/MCP)** - Interact with [EduBase](https://www.edubase.net), a comprehensive e-learning platform with advanced quizzing, exam management, and content organization capabilities - Elasticsearch Logo **[Elasticsearch](https://github.com/elastic/mcp-server-elasticsearch)** - Query your data in [Elasticsearch](https://www.elastic.co/elasticsearch) From 21c7a0673c85017a16fb2387ba11f1ae0b71b3f2 Mon Sep 17 00:00:00 2001 From: Kris Muhi Date: Tue, 29 Apr 2025 11:29:45 +0200 Subject: [PATCH 11/26] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7220c189..77da84db 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ Official integrations are maintained by companies building production ready MCP - **[Couchbase](https://github.com/Couchbase-Ecosystem/mcp-server-couchbase)** - Interact with the data stored in Couchbase clusters. - Dart Logo **[Dart](https://github.com/its-dart/dart-mcp-server)** - Interact with task, doc, and project data in [Dart](https://itsdart.com), an AI-native project management tool - DevHub Logo **[DevHub](https://github.com/devhub/devhub-cms-mcp)** - Manage and utilize website content within the [DevHub](https://www.devhub.com) CMS platform -- Dynatrace Logo **[Dynatrace](https://github.com/dynatrace-oss/dynatrace-mcp)** - Manage and interact with the [Dynatrace Platform ](https://www.dynatrace.com) for real-time observability and monitoring. +- Dynatrace Logo **[Dynatrace](https://github.com/dynatrace-oss/dynatrace-mcp)** - Manage and interact with the [Dynatrace Platform ](https://www.dynatrace.com/platform) for real-time observability and monitoring. - E2B Logo **[E2B](https://github.com/e2b-dev/mcp-server)** - Run code in secure sandboxes hosted by [E2B](https://e2b.dev) - EduBase Logo **[EduBase](https://github.com/EduBase/MCP)** - Interact with [EduBase](https://www.edubase.net), a comprehensive e-learning platform with advanced quizzing, exam management, and content organization capabilities - Elasticsearch Logo **[Elasticsearch](https://github.com/elastic/mcp-server-elasticsearch)** - Query your data in [Elasticsearch](https://www.elastic.co/elasticsearch) From 15e1b79b0d12fa095c56c9993b4d1193891f1c8c Mon Sep 17 00:00:00 2001 From: Shaofeng Shi Date: Fri, 18 Apr 2025 18:56:15 +0800 Subject: [PATCH 12/26] Add Apache Gravitino --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 275f0667..90c572b2 100644 --- a/README.md +++ b/README.md @@ -168,6 +168,7 @@ A growing set of community-developed and maintained servers demonstrates various - **[Amadeus](https://github.com/donghyun-chae/mcp-amadeus)** (by donghyun-chae) - An MCP server to access, explore, and interact with Amadeus Flight Offers Search API for retrieving detailed flight options, including airline, times, duration, and pricing data. - **[Anki](https://github.com/scorzeth/anki-mcp-server)** - An MCP server for interacting with your [Anki](https://apps.ankiweb.net) decks and cards. - **[Any Chat Completions](https://github.com/pyroprompts/any-chat-completions-mcp)** - Interact with any OpenAI SDK Compatible Chat Completions API like OpenAI, Perplexity, Groq, xAI and many more. +- **[Apache Gravitino(incubating)](https://github.com/datastrato/mcp-gravitino)** - Allow LLMs to explore metadata of structured data and unstructured data with Gravitino, and perform data governance tasks including tagging/classification. - **[Apple Calendar](https://github.com/Omar-v2/mcp-ical)** - An MCP server that allows you to interact with your MacOS Calendar through natural language, including features such as event creation, modification, schedule listing, finding free time slots etc. - **[Apple Script](https://github.com/peakmojo/applescript-mcp)** - MCP server that lets LLM run AppleScript code to to fully control anything on Mac, no setup needed. - **[Aranet4](https://github.com/diegobit/aranet4-mcp-server)** - MCP Server to manage your Aranet4 CO2 sensor. Fetch data and store in a local SQLite. Ask questions about historical data. From f5f0c65677eb47fca25804be1b0d8998e51ea24e Mon Sep 17 00:00:00 2001 From: Shaofeng Shi Date: Mon, 21 Apr 2025 10:54:17 +0800 Subject: [PATCH 13/26] minor, update the code repo name --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 90c572b2..2fba06c8 100644 --- a/README.md +++ b/README.md @@ -168,7 +168,7 @@ A growing set of community-developed and maintained servers demonstrates various - **[Amadeus](https://github.com/donghyun-chae/mcp-amadeus)** (by donghyun-chae) - An MCP server to access, explore, and interact with Amadeus Flight Offers Search API for retrieving detailed flight options, including airline, times, duration, and pricing data. - **[Anki](https://github.com/scorzeth/anki-mcp-server)** - An MCP server for interacting with your [Anki](https://apps.ankiweb.net) decks and cards. - **[Any Chat Completions](https://github.com/pyroprompts/any-chat-completions-mcp)** - Interact with any OpenAI SDK Compatible Chat Completions API like OpenAI, Perplexity, Groq, xAI and many more. -- **[Apache Gravitino(incubating)](https://github.com/datastrato/mcp-gravitino)** - Allow LLMs to explore metadata of structured data and unstructured data with Gravitino, and perform data governance tasks including tagging/classification. +- **[Apache Gravitino(incubating)](https://github.com/datastrato/mcp-server-gravitino)** - Allow LLMs to explore metadata of structured data and unstructured data with Gravitino, and perform data governance tasks including tagging/classification. - **[Apple Calendar](https://github.com/Omar-v2/mcp-ical)** - An MCP server that allows you to interact with your MacOS Calendar through natural language, including features such as event creation, modification, schedule listing, finding free time slots etc. - **[Apple Script](https://github.com/peakmojo/applescript-mcp)** - MCP server that lets LLM run AppleScript code to to fully control anything on Mac, no setup needed. - **[Aranet4](https://github.com/diegobit/aranet4-mcp-server)** - MCP Server to manage your Aranet4 CO2 sensor. Fetch data and store in a local SQLite. Ask questions about historical data. From afdf0bd26fb5f89641244feaf358208573b1ab80 Mon Sep 17 00:00:00 2001 From: Rohan Sharma <65773548+rohans2@users.noreply.github.com> Date: Thu, 1 May 2025 21:15:11 -0400 Subject: [PATCH 14/26] Add Google Sheets MCP Server This google sheets MCP Server is written in TypeScript. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 562a6e33..ffd4085f 100644 --- a/README.md +++ b/README.md @@ -271,6 +271,7 @@ A growing set of community-developed and maintained servers demonstrates various - **[Google Calendar](https://github.com/nspady/google-calendar-mcp)** - Google Calendar MCP Server for managing Google calendar events. Also supports searching for events by attributes like title and location. - **[Google Custom Search](https://github.com/adenot/mcp-google-search)** - Provides Google Search results via the Google Custom Search API - **[Google Sheets](https://github.com/xing5/mcp-google-sheets)** - Access and editing data to your Google Sheets. +- **[Google Sheets](https://github.com/rohans2/mcp-google-sheets)** - A MCP Server written in TypeScript to access and edit data in your Google Sheets. - **[Google Tasks](https://github.com/zcaceres/gtasks-mcp)** - Google Tasks API Model Context Protocol Server. - **[Google Vertex AI Search](https://github.com/ubie-oss/mcp-vertexai-search)** - Provides Google Vertex AI Search results by grounding a Gemini model with your own private data - **[GraphQL Schema](https://github.com/hannesj/mcp-graphql-schema)** - Allow LLMs to explore large GraphQL schemas without bloating the context. From 0e5eab40f67dda2104c4e8d0d2c13ec08f6625c2 Mon Sep 17 00:00:00 2001 From: Filipe C Menezes Date: Fri, 2 May 2025 14:10:37 +0100 Subject: [PATCH 15/26] Add MongoDB official mcp server --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 562a6e33..0a70e238 100644 --- a/README.md +++ b/README.md @@ -113,6 +113,7 @@ Official integrations are maintained by companies building production ready MCP - **[Metoro](https://github.com/metoro-io/metoro-mcp-server)** - Query and interact with kubernetes environments monitored by Metoro - **[Milvus](https://github.com/zilliztech/mcp-server-milvus)** - Search, Query and interact with data in your Milvus Vector Database. - **[Momento](https://github.com/momentohq/mcp-momento)** - Momento Cache lets you quickly improve your performance, reduce costs, and handle load at any scale. +- **[MongoDB](https://github.com/mongodb-js/mongodb-mcp-server)** - MongoDB community server or MongoDB Atlas are both supported. - MotherDuck Logo **[MotherDuck](https://github.com/motherduckdb/mcp-server-motherduck)** - Query and analyze data with MotherDuck and local DuckDB - Needle AI Logo **[Needle](https://github.com/needle-ai/needle-mcp)** - Production-ready RAG out of the box to search and retrieve data from your own documents. - Neo4j Logo **[Neo4j](https://github.com/neo4j-contrib/mcp-neo4j/)** - Neo4j graph database server (schema + read/write-cypher) and separate graph database backed memory From 70cdf59a61c5f339aa247760ff08720b795aaa53 Mon Sep 17 00:00:00 2001 From: Filipe C Menezes Date: Fri, 2 May 2025 14:20:47 +0100 Subject: [PATCH 16/26] fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0a70e238..0dde914c 100644 --- a/README.md +++ b/README.md @@ -113,7 +113,7 @@ Official integrations are maintained by companies building production ready MCP - **[Metoro](https://github.com/metoro-io/metoro-mcp-server)** - Query and interact with kubernetes environments monitored by Metoro - **[Milvus](https://github.com/zilliztech/mcp-server-milvus)** - Search, Query and interact with data in your Milvus Vector Database. - **[Momento](https://github.com/momentohq/mcp-momento)** - Momento Cache lets you quickly improve your performance, reduce costs, and handle load at any scale. -- **[MongoDB](https://github.com/mongodb-js/mongodb-mcp-server)** - MongoDB community server or MongoDB Atlas are both supported. +- **[MongoDB](https://github.com/mongodb-js/mongodb-mcp-server)** - Both MongoDB Community Server and MongoDB Atlas are supported. - MotherDuck Logo **[MotherDuck](https://github.com/motherduckdb/mcp-server-motherduck)** - Query and analyze data with MotherDuck and local DuckDB - Needle AI Logo **[Needle](https://github.com/needle-ai/needle-mcp)** - Production-ready RAG out of the box to search and retrieve data from your own documents. - Neo4j Logo **[Neo4j](https://github.com/neo4j-contrib/mcp-neo4j/)** - Neo4j graph database server (schema + read/write-cypher) and separate graph database backed memory From 85403171e2349b4e5e41b2356e523c6bfcff1d44 Mon Sep 17 00:00:00 2001 From: TocharinOU Date: Fri, 2 May 2025 21:52:32 +0800 Subject: [PATCH 17/26] Add Kibana MCP Server to community servers list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 562a6e33..8f7e218c 100644 --- a/README.md +++ b/README.md @@ -295,6 +295,7 @@ A growing set of community-developed and maintained servers demonstrates various - **[JSON](https://github.com/GongRzhe/JSON-MCP-Server)** - JSON handling and processing server with advanced query capabilities using JSONPath syntax and support for array, string, numeric, and date operations. - **[KiCad MCP](https://github.com/lamaalrajih/kicad-mcp)** - MCP server for KiCad on Mac, Windows, and Linux. - **[Keycloak MCP](https://github.com/ChristophEnglisch/keycloak-model-context-protocol)** - This MCP server enables natural language interaction with Keycloak for user and realm management including creating, deleting, and listing users and realms. +- **[Kibana MCP](https://github.com/TocharianOU/mcp-server-kibana.git)** (by TocharianOU) - A community-maintained MCP server implementation that allows any MCP-compatible client to access and manage Kibana instances through natural language or programmatic requests. - **[Kibela](https://github.com/kiwamizamurai/mcp-kibela-server)** (by kiwamizamurai) - Interact with Kibela API. - **[kintone](https://github.com/macrat/mcp-server-kintone)** - Manage records and apps in [kintone](https://kintone.com) through LLM tools. - **[Kong Konnect](https://github.com/Kong/mcp-konnect)** - A Model Context Protocol (MCP) server for interacting with Kong Konnect APIs, allowing AI assistants to query and analyze Kong Gateway configurations, traffic, and analytics. From f93911607b165c1e0b0f0a68b6ab9647b62adece Mon Sep 17 00:00:00 2001 From: cliffhall Date: Mon, 5 May 2025 13:09:38 -0400 Subject: [PATCH 18/26] Update `server-everything` to allow choosing the transport on the command line. # Run the default (stdio) server ```npx @modelcontextprotocol/server-everything``` # Or specify stdio explicitly ```npx @modelcontextprotocol/server-everything stdio``` # Run the SSE server ```npx @modelcontextprotocol/server-everything sse``` # Run the streamable HTTP server ```npx @modelcontextprotocol/server-everything streamableHttp``` * In src/everything/index.ts - refactor/extracted contents to stdio.ts - replaced with code that - Gets the single argument from the commandline as scriptName - switches on scriptName - imports the appropriate server script or outputs usage options - scripts run on import * In src/everything/stdio.ts - added console log "Starting default (STDIO) server..." * In src/everything/sse.ts - added console log "Starting SSE server..." * In src/everything/streamableHttp.ts - added console log "Starting Streamable HTTP server..." * This fixes #1594 --- src/everything/index.ts | 50 ++++++++++++++++++++------------ src/everything/sse.ts | 2 ++ src/everything/stdio.ts | 26 +++++++++++++++++ src/everything/streamableHttp.ts | 2 ++ 4 files changed, 62 insertions(+), 18 deletions(-) create mode 100644 src/everything/stdio.ts diff --git a/src/everything/index.ts b/src/everything/index.ts index c0ab77a2..801fe721 100644 --- a/src/everything/index.ts +++ b/src/everything/index.ts @@ -1,23 +1,37 @@ #!/usr/bin/env node -import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; -import { createServer } from "./everything.js"; +// Parse command line arguments first +const args = process.argv.slice(2); +const scriptName = args[0] || 'stdio'; -async function main() { - const transport = new StdioServerTransport(); - const { server, cleanup } = createServer(); - - await server.connect(transport); - - // Cleanup on exit - process.on("SIGINT", async () => { - await cleanup(); - await server.close(); - process.exit(0); - }); +async function run() { + try { + // Dynamically import only the requested module to prevent all modules from initializing + switch (scriptName) { + case 'stdio': + // Import and run the default server + await import('./stdio.js'); + break; + case 'sse': + // Import and run the SSE server + await import('./sse.js'); + break; + case 'streamableHttp': + // Import and run the streamable HTTP server + await import('./streamableHttp.js'); + break; + default: + console.error(`Unknown script: ${scriptName}`); + console.log('Available scripts:'); + console.log('- stdio'); + console.log('- sse'); + console.log('- streamableHttp'); + process.exit(1); + } + } catch (error) { + console.error('Error running script:', error); + process.exit(1); + } } -main().catch((error) => { - console.error("Server error:", error); - process.exit(1); -}); +run(); diff --git a/src/everything/sse.ts b/src/everything/sse.ts index 7a02eb53..08d44654 100644 --- a/src/everything/sse.ts +++ b/src/everything/sse.ts @@ -2,6 +2,8 @@ import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js"; import express from "express"; import { createServer } from "./everything.js"; +console.log('Starting SSE server...'); + const app = express(); const { server, cleanup } = createServer(); diff --git a/src/everything/stdio.ts b/src/everything/stdio.ts new file mode 100644 index 00000000..2c94fa35 --- /dev/null +++ b/src/everything/stdio.ts @@ -0,0 +1,26 @@ +#!/usr/bin/env node + +import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; +import { createServer } from "./everything.js"; + +console.log('Starting default (STDIO) server...'); + +async function main() { + const transport = new StdioServerTransport(); + const {server, cleanup} = createServer(); + + await server.connect(transport); + + // Cleanup on exit + process.on("SIGINT", async () => { + await cleanup(); + await server.close(); + process.exit(0); + }); +} + +main().catch((error) => { + console.error("Server error:", error); + process.exit(1); +}); + diff --git a/src/everything/streamableHttp.ts b/src/everything/streamableHttp.ts index 3a87bc83..2e4d52de 100644 --- a/src/everything/streamableHttp.ts +++ b/src/everything/streamableHttp.ts @@ -4,6 +4,8 @@ import express, { Request, Response } from "express"; import { createServer } from "./everything.js"; import { randomUUID } from 'node:crypto'; +console.log('Starting Streamable HTTP server...'); + const app = express(); const { server, cleanup } = createServer(); From f06dc654ff65bd4bd814bd9b4b4aacfa2a13aae6 Mon Sep 17 00:00:00 2001 From: cliffhall Date: Mon, 5 May 2025 13:33:25 -0400 Subject: [PATCH 19/26] Update `server-everything` to allow choosing the transport on the command line. * Update README.md --- src/everything/README.md | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/src/everything/README.md b/src/everything/README.md index 4d51de51..261ce033 100644 --- a/src/everything/README.md +++ b/src/everything/README.md @@ -173,7 +173,7 @@ Optionally, you can add it to a file called `.vscode/mcp.json` in your workspace } ``` -## Run with [HTTP+SSE Transport](https://modelcontextprotocol.io/specification/2024-11-05/basic/transports#http-with-sse) (deprecated as of [2025-03-26](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports)) +## Running from source with [HTTP+SSE Transport](https://modelcontextprotocol.io/specification/2024-11-05/basic/transports#http-with-sse) (deprecated as of [2025-03-26](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports)) ```shell cd src/everything @@ -181,10 +181,37 @@ npm install npm run start:sse ``` -## Run with [Streamable HTTP Transport](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http) +## Run from source with [Streamable HTTP Transport](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http) ```shell cd src/everything npm install npm run start:streamableHttp ``` + +## Running as an installed package +### Install +```shell +npm install -g @modelcontextprotocol/server-everything@latest +```` + +### Run the default (stdio) server +```shell +npx @modelcontextprotocol/server-everything +``` + +### Or specify stdio explicitly +```shell +npx @modelcontextprotocol/server-everything stdio +``` + +### Run the SSE server +```shell +npx @modelcontextprotocol/server-everything sse +``` + +### Run the streamable HTTP server +```shell +npx @modelcontextprotocol/server-everything streamableHttp +``` + From c4371d95d5d47171006f92585795cb29421ce712 Mon Sep 17 00:00:00 2001 From: cliffhall Date: Mon, 5 May 2025 18:00:44 -0400 Subject: [PATCH 20/26] Update `server-everything` to use the latest version of the SDK --- package-lock.json | 8 ++++---- src/everything/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 23e61d70..7555fa00 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5435,7 +5435,7 @@ "version": "0.6.2", "license": "MIT", "dependencies": { - "@modelcontextprotocol/sdk": "^1.10.1", + "@modelcontextprotocol/sdk": "^1.11.0", "express": "^4.21.1", "zod": "^3.23.8", "zod-to-json-schema": "^3.23.5" @@ -5450,9 +5450,9 @@ } }, "src/everything/node_modules/@modelcontextprotocol/sdk": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.10.1.tgz", - "integrity": "sha512-xNYdFdkJqEfIaTVP1gPKoEvluACHZsHZegIoICX8DM1o6Qf3G5u2BQJHmgd0n4YgRPqqK/u1ujQvrgAxxSJT9w==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.11.0.tgz", + "integrity": "sha512-k/1pb70eD638anoi0e8wUGAlbMJXyvdV4p62Ko+EZ7eBe1xMx8Uhak1R5DgfoofsK5IBBnRwsYGTaLZl+6/+RQ==", "license": "MIT", "dependencies": { "content-type": "^1.0.5", diff --git a/src/everything/package.json b/src/everything/package.json index ffe6b7cd..553db407 100644 --- a/src/everything/package.json +++ b/src/everything/package.json @@ -22,7 +22,7 @@ "start:streamableHttp": "node dist/streamableHttp.js" }, "dependencies": { - "@modelcontextprotocol/sdk": "^1.10.1", + "@modelcontextprotocol/sdk": "^1.11.0", "express": "^4.21.1", "zod": "^3.23.8", "zod-to-json-schema": "^3.23.5" From 51593d9a9a8c5bd5b4c1915d889f3eda961a4c77 Mon Sep 17 00:00:00 2001 From: Jun Date: Tue, 6 May 2025 02:46:41 -0500 Subject: [PATCH 21/26] add optional encoded param to puppeteer_screenshot for base64 output --- src/puppeteer/README.md | 9 +------- src/puppeteer/index.ts | 49 +++++------------------------------------ 2 files changed, 7 insertions(+), 51 deletions(-) diff --git a/src/puppeteer/README.md b/src/puppeteer/README.md index 5b31f4af..03646437 100644 --- a/src/puppeteer/README.md +++ b/src/puppeteer/README.md @@ -22,14 +22,7 @@ A Model Context Protocol server that provides browser automation capabilities us - `selector` (string, optional): CSS selector for element to screenshot - `width` (number, optional, default: 800): Screenshot width - `height` (number, optional, default: 600): Screenshot height - -- **puppeteer_screenshot_encoded** - - Captures a screenshot of the entire page or a specific element and return it as a base64-encoded data URI. - - Inputs: - - `name` (string, required): Name for the screenshot - - `selector` (string, optional): CSS selector for element to screenshot - - `width` (number, optional, default: 800): Screenshot width - - `height` (number, optional, default: 600): Screenshot height + - `encoded` (boolean, optional): If true, capture the screenshot as a base64-encoded data URI (as text) instead of binary image content. Default false. - **puppeteer_click** diff --git a/src/puppeteer/index.ts b/src/puppeteer/index.ts index feabec70..592e0cdc 100644 --- a/src/puppeteer/index.ts +++ b/src/puppeteer/index.ts @@ -242,6 +242,7 @@ async function handleToolCall(name: string, args: any): Promise case "puppeteer_screenshot": { const width = args.width ?? 800; const height = args.height ?? 600; + const encoded = args.encoded ?? false; await page.setViewport({ width, height }); const screenshot = await (args.selector ? @@ -269,52 +270,14 @@ async function handleToolCall(name: string, args: any): Promise type: "text", text: `Screenshot '${args.name}' taken at ${width}x${height}`, } as TextContent, - { + encoded ? ({ + type: "text", + text: `data:image/png;base64,${screenshot}`, + } as TextContent) : ({ type: "image", data: screenshot, mimeType: "image/png", - } as ImageContent, - ], - isError: false, - }; - } - - case "puppeteer_screenshot_encoded": { - const width = args.width ?? 800; - const height = args.height ?? 600; - await page.setViewport({ width, height }); - - const screenshot = await (args.selector - ? (await page.$(args.selector))?.screenshot({ encoding: "base64" }) - : page.screenshot({ encoding: "base64", fullPage: false })); - - if (!screenshot) { - return { - content: [ - { - type: "text", - text: args.selector ? `Element not found: ${args.selector}` : "Screenshot failed", - }, - ], - isError: true, - }; - } - - screenshots.set(args.name, screenshot as string); - server.notification({ - method: "notifications/resources/list_changed", - }); - - return { - content: [ - { - type: "text", - text: `Screenshot '${args.name}' taken at ${width}x${height}`, - } as TextContent, - { - type: "text", - text: `data:image/png;base64,${screenshot}`, - } as TextContent, + } as ImageContent), ], isError: false, }; From 69549cc8445ab9f4189c2c867b7b8f6cca2f8d78 Mon Sep 17 00:00:00 2001 From: cliffhall Date: Tue, 6 May 2025 10:26:47 -0400 Subject: [PATCH 22/26] Update `server-everything` to use the latest version of the SDK * In stdio.ts - change console.log to console.error --- src/everything/stdio.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/everything/stdio.ts b/src/everything/stdio.ts index 2c94fa35..a98fbc53 100644 --- a/src/everything/stdio.ts +++ b/src/everything/stdio.ts @@ -3,7 +3,7 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { createServer } from "./everything.js"; -console.log('Starting default (STDIO) server...'); +console.error('Starting default (STDIO) server...'); async function main() { const transport = new StdioServerTransport(); From e30f30868fb3b1ba488c5a6ae09f60c64ebe5bc7 Mon Sep 17 00:00:00 2001 From: cliffhall Date: Tue, 6 May 2025 10:27:49 -0400 Subject: [PATCH 23/26] Update `server-everything` to use the latest version of the SDK * In sse.ts & streamableHttp.ts - change console.log to console.error --- src/everything/sse.ts | 2 +- src/everything/streamableHttp.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/everything/sse.ts b/src/everything/sse.ts index 08d44654..928916c7 100644 --- a/src/everything/sse.ts +++ b/src/everything/sse.ts @@ -2,7 +2,7 @@ import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js"; import express from "express"; import { createServer } from "./everything.js"; -console.log('Starting SSE server...'); +console.error('Starting SSE server...'); const app = express(); diff --git a/src/everything/streamableHttp.ts b/src/everything/streamableHttp.ts index 2e4d52de..e6486dfa 100644 --- a/src/everything/streamableHttp.ts +++ b/src/everything/streamableHttp.ts @@ -4,7 +4,7 @@ import express, { Request, Response } from "express"; import { createServer } from "./everything.js"; import { randomUUID } from 'node:crypto'; -console.log('Starting Streamable HTTP server...'); +console.error('Starting Streamable HTTP server...'); const app = express(); From 96352032fc21e64f068f7a08624084390b785f77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=BF=E3=81=AE=E3=82=8B=E3=82=93?= <74597894+minorun365@users.noreply.github.com> Date: Wed, 7 May 2025 00:10:50 +0900 Subject: [PATCH 24/26] Fixed README: Added NPX config for Claude Desktop --- src/gdrive/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gdrive/README.md b/src/gdrive/README.md index e8247f00..89eb21e0 100644 --- a/src/gdrive/README.md +++ b/src/gdrive/README.md @@ -84,7 +84,10 @@ Once authenticated, you can use the server in your app's server configuration: "args": [ "-y", "@modelcontextprotocol/server-gdrive" - ] + ], + "env": { + "GDRIVE_CREDENTIALS_PATH": "/path/to/.gdrive-server-credentials.json" + } } } } From 4bb9ec779e4218250fe2c2b9ef6087abc9ce1750 Mon Sep 17 00:00:00 2001 From: Jun Date: Tue, 6 May 2025 16:18:57 -0500 Subject: [PATCH 25/26] remove redundancy and update puppeteer_screenshot tool description --- src/puppeteer/index.ts | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/src/puppeteer/index.ts b/src/puppeteer/index.ts index 592e0cdc..63007799 100644 --- a/src/puppeteer/index.ts +++ b/src/puppeteer/index.ts @@ -39,20 +39,7 @@ const TOOLS: Tool[] = [ selector: { type: "string", description: "CSS selector for element to screenshot" }, width: { type: "number", description: "Width in pixels (default: 800)" }, height: { type: "number", description: "Height in pixels (default: 600)" }, - }, - required: ["name"], - }, - }, - { - name: "puppeteer_screenshot_encoded", - description: "Take a screenshot of the current page or a specific element and return it as a base64-encoded data URI", - inputSchema: { - type: "object", - properties: { - name: { type: "string", description: "Name for the screenshot" }, - selector: { type: "string", description: "CSS selector for element to screenshot" }, - width: { type: "number", description: "Width in pixels (default: 800)" }, - height: { type: "number", description: "Height in pixels (default: 600)" }, + encoded: { type: "boolean", description: "If true, capture the screenshot as a base64-encoded data URI (as text) instead of binary image content. Default false." }, }, required: ["name"], }, From 58a2c19dfc477948eefaf02d207a447a132c1d71 Mon Sep 17 00:00:00 2001 From: tszhim_tech Date: Thu, 8 May 2025 17:50:38 +0800 Subject: [PATCH 26/26] update order --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4f3e0c99..4532ac19 100644 --- a/README.md +++ b/README.md @@ -380,8 +380,8 @@ A growing set of community-developed and maintained servers demonstrates various - **[PIF](https://github.com/hungryrobot1/MCP-PIF)** - A Personal Intelligence Framework (PIF), providing tools for file operations, structured reasoning, and journal-based documentation to support continuity and evolving human-AI collaboration across sessions. - **[Pinecone](https://github.com/sirmews/mcp-pinecone)** - MCP server for searching and uploading records to Pinecone. Allows for simple RAG features, leveraging Pinecone's Inference API. - **[Placid.app](https://github.com/felores/placid-mcp-server)** - Generate image and video creatives using Placid.app templates -- **[Playwright](https://github.com/executeautomation/mcp-playwright)** - This MCP Server will help you run browser automation and webscraping using Playwright - **[Plane](https://github.com/kelvin6365/plane-mcp-server)** - This MCP Server will help you to manage projects and issues through Plane's API +- **[Playwright](https://github.com/executeautomation/mcp-playwright)** - This MCP Server will help you run browser automation and webscraping using Playwright - **[Postman](https://github.com/shannonlal/mcp-postman)** - MCP server for running Postman Collections locally via Newman. Allows for simple execution of Postman Server and returns the results of whether the collection passed all the tests. - **[Productboard](https://github.com/kenjihikmatullah/productboard-mcp)** - Integrate the Productboard API into agentic workflows via MCP. - **[Prometheus](https://github.com/pab1it0/prometheus-mcp-server)** - Query and analyze Prometheus - open-source monitoring system.