mcpField
N
Nora

Nora

Local
noradocs.solomontsao.comAI & Agents59Updated 2w ago

About Nora

The Nora MCP server lets MCP clients operate self-hosted OpenClaw and Hermes agent fleets on Docker or Kubernetes. It is aimed at teams who want to manage agent runtimes in natural language.

Key features

  1. 01Deploy, start, stop, restart and redeploy agents
  2. 02Query fleet status, metrics, events and per-agent cost
  3. 03Read and write tools separated by API key scopes
  4. 04Delete tool available only when explicitly enabled
  5. 05Stateless local process that stores no credentials

Use cases

  1. 01Checking agent fleet health from Claude Code or Cursor
  2. 02Deploying or restarting agent runtimes in natural language
  3. 03Reviewing metrics and cost for individual agents

MCP support

This server is an MCP front end for the Nora control plane. It exposes agent lifecycle, monitoring and metrics tools to clients such as Claude Code, Claude Desktop and Cursor, returning raw Nora REST JSON.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"solomon2773-nora": {
"command": "npx",
"args": [
"-y",
"@noraai/mcp-server"
],
"env": {
"NORA_API_URL": "<NORA_API_URL>",
"NORA_API_KEY": "<NORA_API_KEY>",
"NORA_MCP_ALLOW_DESTRUCTIVE": "<NORA_MCP_ALLOW_DESTRUCTIVE>"
}
}
}
}
Run commandnpx -y @noraai/mcp-server
Environment variables to set
NORA_API_URLBase 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_KEYSecretNora 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_DESTRUCTIVESet to "true" to enable destructive tools (e.g. delete_agent). Disabled by default.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@noraai/mcp-server0.1.4

Tools

15

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
scopeenumNo'owned' restricts to agents created by the key's issuing useraccessible | owned

Details

From the project README

@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 tools
  • agents: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 [email protected].

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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.