martes.app / Docs / MCP — Model Context Protocol
Docs /MCP — Model Context Protocol

MCP — Model Context Protocol

Connect Hermes to any external tool: GitHub, Linear, Figma, Stripe and more.

What is MCP?

The Model Context Protocol (MCP) is an open standard created by Anthropic that defines how AI agents connect to external tools and data. It is like a universal plugin system: any MCP server exposes tools that Hermes discovers and uses automatically.

Hermes supports MCP with full OAuth 2.1 — dynamic discovery, client registration, PKCE, token exchange, automatic refresh.


Productivity

MCP ServerWhat it enablesPackage
FilesystemRead/write files, list directories@modelcontextprotocol/server-filesystem
GitHubRepos, PRs, issues, CI/CD@modelcontextprotocol/server-github
LinearIssues, projects, cycles (OAuth)https://mcp.linear.app/mcp
AsanaTasks, projects, teams (OAuth)OAuth MCP
FigmaDesigns, components, assets (OAuth)OAuth MCP

Search and research

MCP ServerWhat it enablesPackage
TavilyWeb search optimized for AItavily-mcp
ExaNeural search, academic researchexa-mcp-server
FirecrawlWeb scraping, structured extractionfirecrawl-mcp
PlaywrightBrowser automation, screenshots@playwright/mcp

Business and DevOps

MCP ServerWhat it enablesPackage
SentryErrors, issues, performance (OAuth)OAuth MCP
AtlassianJira, Confluence (OAuth)OAuth MCP
StripePayments, customers, invoices (OAuth)OAuth MCP
SlackMessages, channels (OAuth)OAuth MCP

Connection types

Stdio servers (local)

Run as subprocesses on the same server as Hermes:

# tenant config.yaml
mcp_servers:
  github:
    command: "npx"
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"

  filesystem:
    command: "npx"
    args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]

Remote HTTP servers

Connect to external endpoints:

mcp_servers:
  company_api:
    url: "https://mcp.internal.example.com"
    headers:
      Authorization: "Bearer xxx"

OAuth 2.1 servers

For platforms like Linear, Sentry, Figma — Hermes handles the full flow automatically:

mcp_servers:
  linear:
    url: "https://mcp.linear.app/mcp"
    auth: oauth

On first use, Hermes prints an authorization URL. The client opens it in their browser, approves, and the tokens are cached. Subsequent uses are silent.


How the client activates MCPs

The client can configure MCP servers from Telegram by editing their config.yaml:

"add the GitHub MCP server to my configuration"
→ Hermes edits /opt/data/config.yaml and reloads the connections

Or they can ask the admin to configure it via inject_wiki_content() or by editing the volume directly.


Tool filtering

Hermes allows exposing only the MCP tools you want:

mcp_servers:
  github:
    command: "npx"
    args: ["-y", "@modelcontextprotocol/server-github"]
    tools:
      create_issue:    { enabled: true }
      list_repos:      { enabled: true }
      delete_repo:     { enabled: false }  # blocked