Skip to content

Commit fc430ca

Browse files
authored
Merge pull request #211 from Stavitsky/feat/149-add-annotations
feat: add namespace annotations editing UI and backend support
2 parents 9cab55b + 07e50a0 commit fc430ca

File tree

14 files changed

+2139
-33
lines changed

14 files changed

+2139
-33
lines changed

README.md

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 🚀 MetaMCP (MCP Aggregator, Orchestrator, Middleware, Gateway in one docker)
1+
# 🚀 MetaMCP (MCP Aggregator, Orchestrator, Middleware, Gateway in one docker) <!-- omit in toc -->
22

33
<div align="center">
44

@@ -31,16 +31,17 @@
3131
For more details, consider visiting our documentation site: https://docs.metamcp.com
3232

3333
English | [中文](./README_cn.md)
34-
35-
## 📋 Table of Contents
34+
## 📋 Table of Contents <!-- omit in toc -->
3635

3736
- [🎯 Use Cases](#-use-cases)
3837
- [📖 Concepts](#-concepts)
39-
- [🖥️ MCP Server](#️-mcp-server)
40-
- [🏷️ MetaMCP Namespace](#️-metamcp-namespace)
41-
- [🌐 MetaMCP Endpoint](#-metamcp-endpoint)
42-
- [⚙️ Middleware](#️-middleware)
43-
- [🔍 Inspector](#-inspector)
38+
- [🖥️ **MCP Server**](#️-mcp-server)
39+
- [🔐 **Environment Variables \& Secrets (STDIO MCP Servers)**](#-environment-variables--secrets-stdio-mcp-servers)
40+
- [🏷️ **MetaMCP Namespace**](#️-metamcp-namespace)
41+
- [🌐 **MetaMCP Endpoint**](#-metamcp-endpoint)
42+
- [⚙️ **Middleware**](#️-middleware)
43+
- [🔍 **Inspector**](#-inspector)
44+
- [✏️ **Tool Overrides \& Annotations**](#️-tool-overrides--annotations)
4445
- [🚀 Quick Start](#-quick-start)
4546
- [🐳 Run with Docker Compose (Recommended)](#-run-with-docker-compose-recommended)
4647
- [📦 Build development environment with Dev Containers (VSCode/Cursor)](#-build-development-environment-with-dev-containers-vscodecursor)
@@ -53,10 +54,14 @@ English | [中文](./README_cn.md)
5354
- [❄️ Cold Start Problem and Custom Dockerfile](#️-cold-start-problem-and-custom-dockerfile)
5455
- [🔐 Authentication](#-authentication)
5556
- [🔗 OpenID Connect (OIDC) Provider Support](#-openid-connect-oidc-provider-support)
56-
- [🛠️ Configuration](#️-configuration)
57-
- [🏢 Supported Providers](#-supported-providers)
58-
- [🔒 Security Features](#-security-features)
59-
- [📱 Usage](#-usage)
57+
- [🛠️ **Configuration**](#️-configuration)
58+
- [🏢 **Supported Providers**](#-supported-providers)
59+
- [🔒 **Security Features**](#-security-features)
60+
- [📱 **Usage**](#-usage)
61+
- [⚙️ Registration Controls](#️-registration-controls)
62+
- [🎛️ **Available Controls**](#️-available-controls)
63+
- [🏢 **Enterprise Use Cases**](#-enterprise-use-cases)
64+
- [🛠️ **Configuration**](#️-configuration-1)
6065
- [🌐 Custom Deployment and SSE conf for Nginx](#-custom-deployment-and-sse-conf-for-nginx)
6166
- [🏗️ Architecture](#️-architecture)
6267
- [📊 Sequence Diagram](#-sequence-diagram)
@@ -66,7 +71,6 @@ English | [中文](./README_cn.md)
6671
- [📄 License](#-license)
6772
- [🙏 Credits](#-credits)
6873

69-
7074
## 🎯 Use Cases
7175
- 🏷️ **Group MCP servers into namespaces, host them as meta-MCPs, and assign public endpoints** (SSE or Streamable HTTP), with auth. One-click to switch a namespace for an endpoint.
7276
- 🎯 **Pick tools you only need when remixing MCP servers.** Apply other **pluggable middleware** around observability, security, etc. (coming soon)
@@ -118,6 +122,7 @@ DATABASE_URL=${DB_CONNECTION_STRING}
118122
- Group one or more MCP servers into a namespace
119123
- Enable/disable MCP servers or at tool level
120124
- Apply middlewares to MCP requests and responses
125+
- Override tool names/titles/descriptions per namespace and attach custom MCP annotations (e.g. `{ "annotations": { "readOnlyHint": false } }`)
121126

122127
### 🌐 **MetaMCP Endpoint**
123128
- Create endpoints and assign namespace to endpoints
@@ -133,6 +138,12 @@ DATABASE_URL=${DB_CONNECTION_STRING}
133138
### 🔍 **Inspector**
134139
Similar to the official MCP inspector, but with **saved server configs** - MetaMCP automatically creates configurations so you can debug MetaMCP endpoints immediately.
135140

141+
### ✏️ **Tool Overrides & Annotations**
142+
- Open a namespace → **Tools** tab to see every tool coming from connected MCP servers.
143+
- Each saved tool can be expanded and edited inline: update the display **name/title/description** or provide a JSON blob with namespace-specific annotations (for example `{ "annotations": { "readOnlyHint": false } }`).
144+
- Badges in the table ("Overridden", "Annotations") show which tools currently have custom metadata. Hover them to read a tooltip describing what was overridden.
145+
- Annotation overrides are merged with whatever the upstream MCP server returns, so you can safely add custom UI hints without losing provider metadata.
146+
136147
## 🚀 Quick Start
137148

138149
### **🐳 Run with Docker Compose (Recommended)**
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ALTER TABLE "namespace_tool_mappings"
2+
ADD COLUMN IF NOT EXISTS "override_annotations" jsonb DEFAULT NULL;

0 commit comments

Comments
 (0)