diff --git a/README.md b/README.md
index 674955ff..022ea34c 100644
--- a/README.md
+++ b/README.md
@@ -38,6 +38,7 @@ 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)
@@ -45,12 +46,14 @@ Official integrations are maintained by companies building production ready MCP
-
**[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.
-
**[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
@@ -150,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.
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}`);
});