feat(mcp): native MCP client with full spec support#64
Closed
eren-karakus0 wants to merge 1 commit into
Closed
Conversation
Implement native Model Context Protocol (MCP) client that enables Hermes Agent to connect to any MCP-compatible tool server. Covers the full 2024-11-05 spec including: - Stdio and Streamable HTTP transports with auto-reconnect - Multi-server orchestration via MCPManager - Resources (read, subscribe) and Prompts (list, get) - Progress notifications with token tracking - Bidirectional logging with configurable log levels - Dynamic list-changed notifications (tools, resources, prompts) - Meta-tool interface for status, reconnect, and server management - 85 unit tests with full coverage - Demo client and server for quick testing Co-Authored-By: Eren Karakus <eren-karakus0@users.noreply.github.com>
5 tasks
Bartok9
approved these changes
Feb 27, 2026
Bartok9
left a comment
Contributor
There was a problem hiding this comment.
Excellent MCP implementation! 🎉
Strengths:
- Full 2024-11-05 spec coverage
- Clean architecture (transport → manager → tool layers)
- 85 tests is impressive coverage
- Multi-server support with reconnection logic
- Good documentation with demo files
The meta-tool approach is smart — single entry point with actions (status, connect, call_tool, etc.) keeps the tool interface clean while exposing full MCP capabilities.
Minor suggestions for future:
- Consider adding a
/mcpslash command for quick status checks - Resource caching could help with frequently-read resources
Ready to ship! 🚀
5 tasks
inho1019
approved these changes
May 27, 2026
inho1019
left a comment
There was a problem hiding this comment.
LGTM - MCP full spec implementation looks solid.
jarvis-stark-ops
added a commit
to 1Team-Engineering/hermes-agent
that referenced
this pull request
Jun 10, 2026
…sResearch#62, NousResearch#64) Adds three pre-write-txn gates in `complete_task` mirroring the existing `_verify_created_cards` / `HallucinatedCardsError` pattern: - `verify_runtime_floor` (closes hermes-jarvis#64) — per-role floor on completed_at - started_at. Build 5min, review 90s, orchestration 0. - `verify_workspace_diff` (closes hermes-jarvis#62) — non-review workers on dir/worktree workspaces must produce a non-empty git diff against the tracking base. - `verify_no_stray_artifacts` (closes hermes-jarvis#28) — rejects *evidence*, commit-hash*, triage/*, tmp-*, and untracked no-extension/no-shebang files (the agent-dashboard PR #1 "all prior block evidence files" failure mode). Opt-outs via metadata (x_fast_justified / x_no_code / x_stray_ok) require ≥20-char string reasons and emit completion_opt_out_used audit events with verbatim reason. Truthy bools or short strings rejected with InvalidOptOutError. Context: hermes-jarvis#61 (bootstrap-paradox case study). 41 tests pass; 258 wider regression — zero failures. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a native Model Context Protocol (MCP) client implementation that enables Hermes Agent to connect to any MCP-compatible tool server. This covers the full 2024-11-05 MCP specification.
What's Included
MCPManagerhandles concurrent server connections with per-server config (mcp_servers.json)setLevelsupportmcptool with actions:status,connect,disconnect,reconnect,list_tools,call_tool,list_resources,read_resource,list_prompts,get_prompt,set_log_levelskills/mcp/native-mcp/SKILL.mdfor natural language guidancedemo_mcp_server.py(example server) anddemo_mcp_client.py(standalone test client)Architecture
Demo Screenshots
MCP Tool Calls:
Test Results (85/85 passing):
python -m pytest tests/test_mcp.py -v85/85 tests passingdemo_mcp_server.py+demo_mcp_client.pyWhy This Matters
No other AI agent framework provides full MCP spec coverage as a native integration. Most competitors only support basic tool calls this implementation adds resources, prompts, progress tracking, logging, and dynamic list-changed notifications, making Hermes Agent the most MCP-complete agent available.