diff --git a/.github/workflows/version-check.yml b/.github/workflows/version-check.yml
new file mode 100644
index 00000000..b327649f
--- /dev/null
+++ b/.github/workflows/version-check.yml
@@ -0,0 +1,30 @@
+name: Version Consistency Check
+
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ release:
+ types: [published]
+
+jobs:
+ github:
+ name: Check GitHub server version consistency
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Check version consistency
+ run: |
+ PACKAGE_VERSION=$(node -p "require('./src/github/package.json').version")
+ TS_VERSION=$(grep -o '".*"' ./src/github/common/version.ts | tr -d '"')
+
+ if [ "$PACKAGE_VERSION" != "$TS_VERSION" ]; then
+ echo "::error::Version mismatch detected!"
+ echo "::error::package.json version: $PACKAGE_VERSION"
+ echo "::error::version.ts version: $TS_VERSION"
+ exit 1
+ else
+ echo "✅ Versions match: $PACKAGE_VERSION"
+ fi
diff --git a/README.md b/README.md
index ede91884..1836bd4e 100644
--- a/README.md
+++ b/README.md
@@ -38,20 +38,22 @@ These servers aim to demonstrate MCP features and the TypeScript and Python SDKs
Official integrations are maintained by companies building production ready MCP servers for their platforms.
+-
**[21st.dev Magic](https://github.com/21st-dev/magic-mcp)** - Create crafted UI components inspired by the best 21st.dev design engineers.
-
**[Apify](https://github.com/apify/actors-mcp-server)** - [Actors MCP Server](https://apify.com/apify/actors-mcp-server): Use 3,000+ pre-built cloud tools to extract data from websites, e-commerce, social media, search engines, maps, and more
-
**[Axiom](https://github.com/axiomhq/mcp-server-axiom)** - Query and analyze your Axiom logs, traces, and all other event data in natural language
-
**[Browserbase](https://github.com/browserbase/mcp-server-browserbase)** - Automate browser interactions in the cloud (e.g. web navigation, data extraction, form filling, and more)
-
**[Cloudflare](https://github.com/cloudflare/mcp-server-cloudflare)** - Deploy, configure & interrogate your resources on the Cloudflare developer platform (e.g. Workers/KV/R2/D1)
-
**[E2B](https://github.com/e2b-dev/mcp-server)** - Run code in secure sandboxes hosted by [E2B](https://e2b.dev)
-
**[eSignatures](https://github.com/esignaturescom/mcp-server-esignatures)** - Contract and template management for drafting, reviewing, and sending binding contracts.
-- [Eunomia](https://github.com/whataboutyou-ai/eunomia-MCP-server)** - Extension of the Eunomia framework that connects Eunomia instruments with MCP servers
-
**[Exa](https://github.com/exa-labs/exa-mcp-server)** - Search Engine made for AIs by [Exa](https://exa.ai)
+-
**[Firecrawl](https://github.com/mendableai/firecrawl-mcp-server)** - Extract web data with [Firecrawl](https://firecrawl.dev)
-
**[Fireproof](https://github.com/fireproof-storage/mcp-database-server)** - Immutable ledger database with live synchronization
-
**[Grafana](https://github.com/grafana/mcp-grafana)** - Search dashboards, investigate incidents and query datasources in your Grafana instance
- **[IBM wxflows](https://github.com/IBM/wxflows/tree/main/examples/mcp/javascript)** - Tool platform by IBM to build, test and deploy tools for any data source
-
**[Integration App](https://github.com/integration-app/mcp-server)** - Interact with any other SaaS applications on behalf of your customers.
-
**[JetBrains](https://github.com/JetBrains/mcp-jetbrains)** – Work on your code with JetBrains IDEs
-
**[Kagi Search](https://github.com/kagisearch/kagimcp)** - Search the web using Kagi's search API
+-
**[Lingo.dev](https://github.com/lingodotdev/lingo.dev/blob/main/mcp.md)** - Make your AI agent speak every language on the planet, using [Lingo.dev](https://lingo.dev) Localization Engine.
-
**[Meilisearch](https://github.com/meilisearch/meilisearch-mcp)** - Interact & query with Meilisearch (Full-text & semantic search API)
-
**[Metoro](https://github.com/metoro-io/metoro-mcp-server)** - Query and interact with kubernetes environments monitored by Metoro
-
**[MotherDuck](https://github.com/motherduckdb/mcp-server-motherduck)** - Query and analyze data with MotherDuck and local DuckDB
@@ -63,6 +65,7 @@ Official integrations are maintained by companies building production ready MCP
- **[Raygun](https://github.com/MindscapeHQ/mcp-server-raygun)** - Interact with your crash reporting and real using monitoring data on your Raygun account
-
**[Riza](https://github.com/riza-io/riza-mcp)** - Arbitrary code execution and tool-use platform for LLMs by [Riza](https://riza.io)
-
[Search1API](https://github.com/fatwang2/search1api-mcp) - One API for Search, Crawling, and Sitemaps
+-
**[Stripe](https://github.com/stripe/agent-toolkit)** - Interact with Stripe API
-
**[Tavily](https://github.com/tavily-ai/tavily-mcp)** - Search engine for AI agents (search + extract) powered by [Tavily](https://tavily.com/)
-
**[Tinybird](https://github.com/tinybirdco/mcp-tinybird)** - Interact with Tinybird serverless ClickHouse platform
-
**[Verodat](https://github.com/Verodat/verodat-mcp-server)** - Interact with Verodat AI Ready Data platform
@@ -109,6 +112,7 @@ A growing set of community-developed and maintained servers demonstrates various
- **[Drupal](https://github.com/Omedia/mcp-server-drupal)** - Server for interacting with [Drupal](https://www.drupal.org/project/mcp) using STDIO transport layer.
- **[Elasticsearch](https://github.com/cr7258/elasticsearch-mcp-server)** - MCP server implementation that provides Elasticsearch interaction.
- **[ElevenLabs](https://github.com/mamertofabian/elevenlabs-mcp-server)** - A server that integrates with ElevenLabs text-to-speech API capable of generating full voiceovers with multiple voices.
+- **[Eunomia](https://github.com/whataboutyou-ai/eunomia-MCP-server)** - Extension of the Eunomia framework that connects Eunomia instruments with MCP servers
- **[Everything Search](https://github.com/mamertofabian/mcp-everything-search)** - Fast file searching capabilities across Windows (using [Everything SDK](https://www.voidtools.com/support/everything/sdk/)), macOS (using mdfind command), and Linux (using locate/plocate command).
- **[Fetch](https://github.com/zcaceres/fetch-mcp)** - A server that flexibly fetches HTML, JSON, Markdown, or plaintext.
- **[FireCrawl](https://github.com/vrknetha/mcp-server-firecrawl)** - Advanced web scraping with JavaScript rendering, PDF support, and smart rate limiting
@@ -121,6 +125,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 Tasks](https://github.com/zcaceres/gtasks-mcp)** - Google Tasks API Model Context Protocol Server.
+- **[Holaspirit](https://github.com/syucream/holaspirit-mcp-server)** - Interact with [Holaspirit](https://www.holaspirit.com/).
- **[Home Assistant](https://github.com/tevonsb/homeassistant-mcp)** - Interact with [Home Assistant](https://www.home-assistant.io/) including viewing and controlling lights, switches, sensors, and all other Home Assistant entities.
- **[HubSpot](https://github.com/buryhuang/mcp-hubspot)** - HubSpot CRM integration for managing contacts and companies. Create and retrieve CRM data directly through Claude chat.
- **[HuggingFace Spaces](https://github.com/evalstate/mcp-hfspace)** - Server for using HuggingFace Spaces, supporting Open Source Image, Audio, Text Models and more. Claude Desktop mode for easy integration.
@@ -133,6 +138,7 @@ A growing set of community-developed and maintained servers demonstrates various
- **[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.
- **[Kubernetes](https://github.com/Flux159/mcp-server-kubernetes)** - Connect to Kubernetes cluster and manage pods, deployments, and services.
+- **[Lightdash](https://github.com/syucream/lightdash-mcp-server)** - Interact with [Lightdash](https://www.lightdash.com/), a BI tool.
- **[Linear](https://github.com/jerhadf/linear-mcp-server)** - Allows LLM to interact with Linear's API for project management, including searching, creating, and updating issues.
- **[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/)
@@ -147,6 +153,7 @@ A growing set of community-developed and maintained servers demonstrates various
- **[Markdownify](https://github.com/zcaceres/mcp-markdownify-server)** - MCP to convert almost anything to Markdown (PPTX, HTML, PDF, Youtube Transcripts and more)
- **[Minima](https://github.com/dmayboroda/minima)** - MCP server for RAG on local files
- **[MongoDB](https://github.com/kiliczsh/mcp-mongo-server)** - A Model Context Protocol Server for MongoDB.
+- **[Monday.com](https://github.com/sakce/mcp-server-monday)** - MCP Server to interact with Monday.com boards and items.
- **[MySQL](https://github.com/benborla/mcp-server-mysql)** (by benborla) - MySQL database integration in NodeJS with configurable access controls and schema inspection
- **[MySQL](https://github.com/designcomputer/mysql_mcp_server)** (by DesignComputer) - MySQL database integration in Python with configurable access controls and schema inspection
- **[NS Travel Information](https://github.com/r-huijts/ns-mcp-server)** - Access Dutch Railways (NS) real-time train travel information and disruptions through the official NS API.
@@ -181,6 +188,7 @@ A growing set of community-developed and maintained servers demonstrates various
- **[SearXNG](https://github.com/ihor-sokoliuk/mcp-searxng)** - A Model Context Protocol Server for [SearXNG](https://docs.searxng.org)
- **[Snowflake](https://github.com/isaacwasserman/mcp-snowflake-server)** - This MCP server enables LLMs to interact with Snowflake databases, allowing for secure and controlled data operations.
- **[Spotify](https://github.com/varunneal/spotify-mcp)** - This MCP allows an LLM to play and use Spotify.
+- **[Stripe](https://github.com/atharvagupta2003/mcp-stripe)** - This MCP allows integration with Stripe for handling payments, customers, and refunds.
- **[TMDB](https://github.com/Laksh-star/mcp-server-tmdb)** - This MCP server integrates with The Movie Database (TMDB) API to provide movie information, search capabilities, and recommendations.
- **[Tavily search](https://github.com/RamXX/mcp-tavily)** - An MCP server for Tavily's search & news API, with explicit site inclusions/exclusions
- **[Ticketmaster](https://github.com/delorenj/mcp-server-ticketmaster)** - Search for events, venues, and attractions through the Ticketmaster Discovery API
diff --git a/package-lock.json b/package-lock.json
index ce8e521f..12482a9e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4786,6 +4786,12 @@
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
"license": "MIT"
},
+ "node_modules/universal-user-agent": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz",
+ "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==",
+ "license": "ISC"
+ },
"node_modules/universalify": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
@@ -5292,6 +5298,7 @@
"@types/node": "^22",
"@types/node-fetch": "^2.6.12",
"node-fetch": "^3.3.2",
+ "universal-user-agent": "^7.0.2",
"zod": "^3.22.4",
"zod-to-json-schema": "^3.23.5"
},
@@ -5445,7 +5452,7 @@
},
"src/memory": {
"name": "@modelcontextprotocol/server-memory",
- "version": "0.6.2",
+ "version": "0.6.3",
"license": "MIT",
"dependencies": {
"@modelcontextprotocol/sdk": "1.0.1"
diff --git a/src/everything/README.md b/src/everything/README.md
index c4255f6f..f80848ee 100644
--- a/src/everything/README.md
+++ b/src/everything/README.md
@@ -45,6 +45,24 @@ This MCP server attempts to exercise all the features of the MCP protocol. It is
- No inputs required
- Returns: JSON string of all environment variables
+7. `annotatedMessage`
+ - Demonstrates how annotations can be used to provide metadata about content
+ - Inputs:
+ - `messageType` (enum: "error" | "success" | "debug"): Type of message to demonstrate different annotation patterns
+ - `includeImage` (boolean, default: false): Whether to include an example image
+ - Returns: Content with varying annotations:
+ - Error messages: High priority (1.0), visible to both user and assistant
+ - Success messages: Medium priority (0.7), user-focused
+ - Debug messages: Low priority (0.3), assistant-focused
+ - Optional image: Medium priority (0.5), user-focused
+ - Example annotations:
+ ```json
+ {
+ "priority": 1.0,
+ "audience": ["user", "assistant"]
+ }
+ ```
+
### Resources
The server provides 100 test resources in two formats:
diff --git a/src/everything/everything.ts b/src/everything/everything.ts
index 84beb942..c0553693 100644
--- a/src/everything/everything.ts
+++ b/src/everything/everything.ts
@@ -60,6 +60,13 @@ const EXAMPLE_COMPLETIONS = {
const GetTinyImageSchema = z.object({});
+const AnnotatedMessageSchema = z.object({
+ messageType: z.enum(["error", "success", "debug"])
+ .describe("Type of message to demonstrate different annotation patterns"),
+ includeImage: z.boolean().default(false)
+ .describe("Whether to include an example image")
+});
+
enum ToolName {
ECHO = "echo",
ADD = "add",
@@ -67,6 +74,7 @@ enum ToolName {
PRINT_ENV = "printEnv",
SAMPLE_LLM = "sampleLLM",
GET_TINY_IMAGE = "getTinyImage",
+ ANNOTATED_MESSAGE = "annotatedMessage",
}
enum PromptName {
@@ -329,6 +337,11 @@ export const createServer = () => {
description: "Returns the MCP_TINY_IMAGE",
inputSchema: zodToJsonSchema(GetTinyImageSchema) as ToolInput,
},
+ {
+ name: ToolName.ANNOTATED_MESSAGE,
+ description: "Demonstrates how annotations can be used to provide metadata about content",
+ inputSchema: zodToJsonSchema(AnnotatedMessageSchema) as ToolInput,
+ },
];
return { tools };
@@ -436,6 +449,57 @@ export const createServer = () => {
};
}
+ if (name === ToolName.ANNOTATED_MESSAGE) {
+ const { messageType, includeImage } = AnnotatedMessageSchema.parse(args);
+
+ const content = [];
+
+ // Main message with different priorities/audiences based on type
+ if (messageType === "error") {
+ content.push({
+ type: "text",
+ text: "Error: Operation failed",
+ annotations: {
+ priority: 1.0, // Errors are highest priority
+ audience: ["user", "assistant"] // Both need to know about errors
+ }
+ });
+ } else if (messageType === "success") {
+ content.push({
+ type: "text",
+ text: "Operation completed successfully",
+ annotations: {
+ priority: 0.7, // Success messages are important but not critical
+ audience: ["user"] // Success mainly for user consumption
+ }
+ });
+ } else if (messageType === "debug") {
+ content.push({
+ type: "text",
+ text: "Debug: Cache hit ratio 0.95, latency 150ms",
+ annotations: {
+ priority: 0.3, // Debug info is low priority
+ audience: ["assistant"] // Technical details for assistant
+ }
+ });
+ }
+
+ // Optional image with its own annotations
+ if (includeImage) {
+ content.push({
+ type: "image",
+ data: MCP_TINY_IMAGE,
+ mimeType: "image/png",
+ annotations: {
+ priority: 0.5,
+ audience: ["user"] // Images primarily for user visualization
+ }
+ });
+ }
+
+ return { content };
+ }
+
throw new Error(`Unknown tool: ${name}`);
});
diff --git a/src/github/common/version.ts b/src/github/common/version.ts
index 00b8a691..648f7c6b 100644
--- a/src/github/common/version.ts
+++ b/src/github/common/version.ts
@@ -1 +1,3 @@
+// If the format of this file changes, so it doesn't simply export a VERSION constant,
+// this will break .github/workflows/version-check.yml.
export const VERSION = "0.6.2";
\ No newline at end of file