Nora
io.github.solomon2773/nora · 57 stars · TypeScript · Apache-2.0
MCP server Operate self-hosted OpenClaw and Hermes agent fleets on Docker or Kubernetes from MCP clients.
Install
The repo has no one-line install. Follow its README.
Published as
- npm
@noraai/mcp-serverstdio
From the server's entry in the official MCP Registry.
Configuration
| Name | Set as | What it is |
|---|---|---|
NORA_API_URLRequired | Env var | Base URL of your Nora backend API (e.g. https://nora.example.com). Falls back to NORA_HOST, then the Nora CLI config at ~/.nora/config.json. |
NORA_API_KEYRequired · Secret | Env var | Nora workspace API key (nora_…) used to authenticate against the Nora public REST API. Falls back to NORA_TOKEN, then the Nora CLI config. |
NORA_MCP_ALLOW_DESTRUCTIVEOptional | Env var | Set to "true" to enable destructive tools (e.g. delete_agent). Disabled by default. |
Files
@noraai/mcp-server
MCP server for Nora, the self-hosted AI agent ops platform. Connect Claude Code, Claude Desktop, Cursor, or any Model Context Protocol client to your Nora control plane and operate your agent fleet in natural language: deploy runtimes, start/stop/restart them, tail fleet status, and pull metrics, events, and per-agent cost.
claude mcp add nora \ --env NORA_API_URL=https://nora.example.com \ --env NORA_API_KEY=nora_xxxxxxxx \ -- npx -y @noraai/mcp-server
The repository also ships a Claude Code plugin manifest under
claude-plugin/. Validate and load it from a Nora checkout
with:
claude plugin validate ./mcp-server/claude-plugin --strict claude --plugin-dir ./mcp-server/claude-plugin
Or in any MCP client's JSON config:
{
"mcpServers": {
"nora": {
"command": "npx",
"args": ["-y", "@noraai/mcp-server"],
"env": {
"NORA_API_URL": "https://nora.example.com",
"NORA_API_KEY": "nora_xxxxxxxx"
}
}
}
}
Docker
Build the same stdio server as a non-root container:
docker build -t nora-mcp ./mcp-server docker run --rm -i \ -e NORA_API_URL=https://nora.example.com \ -e NORA_API_KEY=nora_xxxxxxxx \ nora-mcp
MCP clients should keep stdin open and pass secrets through environment variables; the image does not persist credentials or other state.
Auth
Uses Nora workspace API keys (create one under Workspace → API Keys). Scopes apply unchanged:
agents:read+monitoring:read→ read toolsagents:write→ deploy/lifecycle tools
Fallbacks: NORA_HOST/NORA_TOKEN env vars, then the Nora CLI's ~/.nora/config.json — so after nora login, nora mcp (or plain npx @noraai/mcp-server) just works.
Tools
Read: list_agents, get_agent, get_agent_stats, get_agent_versions, get_platform_metrics, get_fleet_status, list_monitoring_events, get_agent_metrics, get_agent_metrics_summary, get_agent_cost.
Write: deploy_agent, start_agent, stop_agent, restart_agent, redeploy_agent — and delete_agent, which is only registered when NORA_MCP_ALLOW_DESTRUCTIVE=true.
Tool output is the raw Nora REST JSON; the server is a pure API client and stores nothing.
Full guide: docs.norafleet.ai/guides/mcp-server
Privacy Policy
The Nora MCP connector runs locally and does not collect telemetry or persist credentials, tool inputs, or API responses. It sends each tool request and the configured API key directly to the Nora deployment identified by NORA_API_URL; no separate connector service or advertising network receives that data.
The connector retains no data after its process exits. Your Nora operator controls the storage and retention of account, agent, log, metric, and integration data in that deployment, and connected providers may apply their own policies when Nora invokes them. See the full Nora Privacy Policy or contact privacy@norafleet.ai.
Contributing
From the repository root, run npm run contributor:setup -- --scope mcp-server once, then npm run contributor:check -- mcp-server. Keep tool schemas, safety annotations, README tool lists, and mocked transport tests synchronized with the public REST endpoints.
If Nora is useful to you, a ⭐ on the GitHub repo helps other self-hosters find it.
License
Apache-2.0
Facts
- Kind
- MCP server
- Repo
- solomon2773/nora
- Group
- Uncategorized
- Stars
- 57
- License
- Apache-2.0
- Language
- TypeScript
- Last push
- 2026-10-08
- Forks
- 15
- MCP Registry
- io.github.solomon2773/nora
- Homepage
- norafleet.ai
- Topics
- agent-orchestration, ai-agents, control-plane, docker, kubernetes, llmops, nemoclaw, observability, openclaw, self-hosted, ai-agent-platform, hermes-agent, mcp, self-hosted-ai, mcp-server, homelab, claude-code-plugin, agent-management, agent-ops, platform-engineering
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k