Skip to content

feat(mcp): expose MCP servers as standalone toolsets#1907

Merged
teknium1 merged 1 commit into
mainfrom
hermes/hermes-b29f73b2
Mar 18, 2026
Merged

feat(mcp): expose MCP servers as standalone toolsets#1907
teknium1 merged 1 commit into
mainfrom
hermes/hermes-b29f73b2

Conversation

@teknium1

Copy link
Copy Markdown
Contributor

Each configured MCP server now registers as its own toolset in TOOLSETS (e.g. TOOLSETS['github'] = {tools: ['mcp_github_list_files', ...]}), making raw server names resolvable in platform_toolsets overrides.

Problem: Gateway sessions using raw toolset names like ['terminal', 'file', 'github'] in platform_toolsets.telegram couldn't resolve MCP tools because they were only injected into hermes-* umbrella toolsets.

Solution: _sync_mcp_toolsets() creates a standalone toolset for each MCP server name, plus continues injecting into hermes-* sets for the default path. Skips server names that collide with built-in toolsets.

Salvaged from PR #1876 by @kshitijk4poor (MCP toolset feature only — unrelated refactoring dropped).

Tests

2 new tests (standalone toolset creation + built-in collision guard). All 140 MCP tests pass.

Each configured MCP server now registers as its own toolset in TOOLSETS
(e.g. TOOLSETS['github'] = {tools: ['mcp_github_list_files', ...]}),
making raw server names resolvable in platform_toolsets overrides.

Previously MCP tools were only injected into hermes-* umbrella toolsets,
so gateway sessions using raw toolset names like ['terminal', 'github']
in platform_toolsets couldn't resolve MCP tools.

Skips server names that collide with built-in toolsets. Also handles
idempotent reloads (syncs toolsets even when no new servers connect).

Inspired by PR #1876 by @kshitijk4poor.
Adds 2 tests (standalone toolset creation + built-in collision guard).
@teknium1 teknium1 merged commit ee4cc8e into main Mar 18, 2026
1 check failed
angelburgosrosado pushed a commit to angelburgosrosado/hermes-agent that referenced this pull request Apr 27, 2026
…b29f73b2

feat(mcp): expose MCP servers as standalone toolsets
02356abc pushed a commit to 02356abc/hermes-agent that referenced this pull request May 14, 2026
…b29f73b2

feat(mcp): expose MCP servers as standalone toolsets
olympus-terminal pushed a commit to olympus-terminal/hermes-agent that referenced this pull request May 16, 2026
…b29f73b2

feat(mcp): expose MCP servers as standalone toolsets
gweeteve pushed a commit to gweeteve/hermes-agent that referenced this pull request Jun 2, 2026
…b29f73b2

feat(mcp): expose MCP servers as standalone toolsets
Egavasyug pushed a commit to Egavasyug/hermes-agent that referenced this pull request Jun 10, 2026
…b29f73b2

feat(mcp): expose MCP servers as standalone toolsets
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant