native-mcp

Connect MCP servers via stdio or HTTP and register their tools automatically.

Updated Jun 5, 2026
One-click install
npx skills add https://github.com/xu1713/openhorse --skill native-mcp-xu1713
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: native-mcp
Source: https://github.com/xu1713/openhorse/tree/main/openhorse/openhorse/skills/mcp/native-mcp
Command: npx skills add https://github.com/xu1713/openhorse --skill native-mcp-xu1713

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires mcp.

What problem does it solve? Manually bridging external MCP servers into an agent's toolset requires custom glue code and repeated configuration. This Skill connects MCP servers at startup, discovers their tools, and registers them as first-class agent tools with no bridge CLI needed. ## Core Features & Use Cases - Automatic Tool Discovery: Connects to configured MCP servers on startup, calls list_tools(), and registers each tool with an mcp_{server}_{tool} naming prefix. - Dual Transport Support: Runs local stdio servers (npx, uvx, or any command) and connects to remote HTTP/StreamableHTTP servers with custom headers. - Security Controls: Filters environment variables passed to subprocesses and redacts credential patterns from error messages shown to the LLM. - Use Case: Add a GitHub MCP server with a personal access token to config.yaml, restart the agent, and immediately call tools like mcp_github_list_issues in any conversation. ## Quick Start Add an MCP server entry under mcp_servers in ~/.hermes/config.yaml and restart the agent to make its tools available.

Frequently Asked Questions about native-mcp

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I connect an MCP server to my agent?

Add an entry under mcp_servers in ~/.hermes/config.yaml with either a command (stdio) or url (HTTP), then restart the agent. It connects at startup, discovers tools, and registers them with the mcp_{server}_{tool} prefix.

How do I run npx or uvx MCP servers locally?

Use stdio transport by setting command to npx or uvx with the package in args, for example command: uvx and args: ["mcp-server-time"]. Node.js is required for npx servers and uv for uvx servers.

Does the MCP client support remote HTTP servers?

Yes, HTTP/StreamableHTTP transport is supported by setting a url and optional headers such as Authorization. Your installed mcp package must include mcp.client.streamable_http, otherwise the server fails with an ImportError.

Why are my MCP tools not appearing after configuration?

Check that servers are listed under the mcp_servers key with correct YAML indentation and that the mcp package is installed. Tools are prefixed as mcp_{server}_{tool}, so search for that pattern in startup logs.

Are my API keys safe when running MCP subprocesses?

Stdio subprocesses receive only a filtered baseline environment (PATH, HOME, XDG_*, etc.), not your full shell environment. Secrets must be explicitly passed via the env config key, and credential patterns are redacted from error messages.

What happens when an MCP server connection drops?

The client automatically reconnects with exponential backoff (1s up to 60s cap) for up to 5 retries. If the server remains unreachable, it gives up, while other configured servers continue operating normally.