Skip to content

Commit 9611672

Browse files
author
Olivier Gintrand
committed
feat(api): comprehensive Virtual Meta-Server with 12 meta-tools
Implements the Virtual Meta-Server feature (#2230) — a tool aggregation layer that enables AI agents to discover and invoke thousands of underlying tools through a unified interface. Meta-tools: - search_tools: hybrid semantic + keyword search with scope filtering - list_tools: paginated tool listing with sorting and filtering - describe_tool: detailed tool info with schema and metadata - execute_tool: tool execution with JSON schema validation and routing - get_tool_categories: aggregated categories with counts - get_similar_tools: vector similarity search for related tools - authorize_gateway: interactive OAuth authorization with token refresh - authorize_all_gateways: one-click authorization for all OAuth gateways - list_resources: paginated MCP resource listing - read_resource: read MCP resource content by URI - list_prompts: paginated MCP prompt listing - get_prompt: prompt template retrieval with optional rendering Features: - OAuth integration: propagates user identity through the call chain - Chained OAuth flow: authorize-all endpoint chains multiple gateways - camelCase normalization for MCP clients - Flat argument tolerance for Copilot Studio - Post-login redirect via cookie with safe path validation - Observability: prompt.render and resource.read spans - JSON serialization: orjson.dumps() for proper JSON output - Admin UI: meta-server checkbox and hide-underlying-tools in server forms - Preserves protect_oauth_config_for_storage() on server update - RBAC enforcement via middleware on all meta endpoints Closes #2230 Supersedes #3653 Signed-off-by: Olivier Gintrand <olivier.gintrand@forterro.com>
1 parent a02a04b commit 9611672

File tree

126 files changed

+43484
-2959
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

126 files changed

+43484
-2959
lines changed

.bumpversion.cfg

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 1.0.0-RC-3
2+
current_version = 1.0.0-RC-2
33
commit = False
44
tag = False
55
sign-tags = True
@@ -24,23 +24,3 @@ replace = version="{new_version}"
2424
[bumpversion:file:pyproject.toml]
2525
search = version = "{current_version}"
2626
replace = version = "{new_version}"
27-
28-
[bumpversion:file:Containerfile.scratch]
29-
search = version="{current_version}"
30-
replace = version="{new_version}"
31-
32-
[bumpversion:file:tools_rust/wrapper/Cargo.toml]
33-
search = version = "{current_version}"
34-
replace = version = "{new_version}"
35-
36-
[bumpversion:file(chart-version):charts/mcp-stack/Chart.yaml]
37-
search = version: {current_version}
38-
replace = version: {new_version}
39-
40-
[bumpversion:file(chart-appversion):charts/mcp-stack/Chart.yaml]
41-
search = appVersion: "{current_version}"
42-
replace = appVersion: "{new_version}"
43-
44-
[bumpversion:file:SECURITY.md]
45-
search = **Current Version: {current_version}**
46-
replace = **Current Version: {new_version}**

.env.example

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -872,15 +872,6 @@ OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
872872
# Default: 10000 characters
873873
# MAX_PARAM_LENGTH=10000
874874

875-
# CWE-400: Limits for user-supplied meta_data forwarded to upstream MCP servers.
876-
# Keeps arbitrarily large dicts from amplifying into downstream network/DB load.
877-
# Maximum number of top-level keys in meta_data (default: 16)
878-
# META_MAX_KEYS=16
879-
# Maximum nesting depth in meta_data (default: 2)
880-
# META_MAX_DEPTH=2
881-
# Maximum JSON-encoded byte size of meta_data (default: 4096)
882-
# META_MAX_BYTES=4096
883-
884875
# Regex patterns for dangerous input (JSON array)
885876
# Used to detect and block malicious input patterns
886877
# Default patterns:

.github/workflows/linting-full.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
- name: Set up Go
4040
uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5
4141
with:
42-
go-version: "1.26.2"
42+
go-version: "1.25.8"
4343
cache-dependency-path: |
4444
a2a-agents/go/a2a-echo-agent/go.sum
4545
mcp-servers/go/benchmark-server/go.sum

0 commit comments

Comments
 (0)