Skip to main content
Glama

nexus-mcp

TypeScript MCP server for the Plugin Federation Nexus control plane. Coding agents and humans can inspect catalogs, judge opinions, plugins, proposals, and run governance writes — without pasting long-lived Nexus API tokens.

MCP protocol

Item

Value

Spec revision

2026-07-28 (stateless modern core)

TypeScript SDK

@modelcontextprotocol/server@^2 (MCP SDK v2)

Schema validation

Zod v4 (zod/v4)

Transport

stdio (primary); protocol versions advertised include modern + 2025-era fallbacks

Configured in src/mcp-protocol.ts via supportedProtocolVersions (modern 2026-07-28 first).

Related MCP server: Codex Security Cloud MCP

Security model

Identity

How it authenticates

Nexus credential

Human (Cursor, Claude Desktop, local agent)

GitHub SSO — device flow (GITHUB_OAUTH_CLIENT_ID) or existing gh auth login session

Short-lived Nexus JWT via provider: github_user (memory only)

GitHub Actions / coding agents in GitHub

GitHub OIDC (permissions: id-token: write) + tenant OIDC trust policy

Short-lived Nexus JWT via provider: github_actions (memory only)

Not supported (by design):

  • NEXUS_ACCESS_TOKEN / NEXUS_BEARER_TOKEN (static control-plane secrets)

  • Gateway enrollment / workload / bootstrap credential tools

  • Recording tool catalogs or analyses from chat (CI + OIDC Actions own evidence)

Nexus remains the only issuer of API JWTs (ADR 0008).

Tools (v0.1)

Orientation: get_session, get_tenant, list_pipeline_checks

Plugins: list_plugins, create_plugin, get_plugin_draft, replace_plugin_draft, compose_plugin_draft, list_plugin_variants, list_plugin_revisions

Quality: get_tool_catalog, list_tool_analyses, list_tool_judges, get_tool_judge, create_tool_judge, update_tool_judge, get_latest_schema_verification, summarize_source_quality, find_fix_suggestions_for_tool

Governance: get_proposal, create_proposal, create_proposal_from_schema_verification, decide_proposal (confirm), release_plugin_revision (confirm), promote_plugin_revision (confirm)

Exports: get_compatibility_report, create_export, get_export_job

Audit: list_audit_events

Setup

npm install
npm run build

Environment

Variable

Required

Purpose

NEXUS_URL

yes

e.g. https://api.nonprod.plugin-federation.com

TENANT_ID

Actions OIDC

Tenant UUID matching OIDC trust policy; also preferred tenant for multi-membership humans

NEXUS_OIDC_AUDIENCE

Actions

Must match Nexus NEXUS_OIDC_GITHUB_AUDIENCE (defaults to NEXUS_URL)

GITHUB_OAUTH_CLIENT_ID

humans (device flow)

Public OAuth App client id for device flow

NEXUS_MCP_ALLOW_GH_CLI

no

Default true — use gh auth token when device flow client id unset

NEXUS_MCP_GITHUB_USER_TOKEN

no

Optional GitHub user OAuth token injected by a host (still exchanged; never a Nexus JWT)

Human (local)

# Option A: GitHub CLI already SSO'd
gh auth login
export NEXUS_URL=https://api.nonprod.plugin-federation.com
export TENANT_ID=<optional-preferred-tenant>
npx tsx src/index.ts

# Option B: device flow
export GITHUB_OAUTH_CLIENT_ID=<public-oauth-app-client-id>
npx tsx src/index.ts
# Follow the verification URL + user code on stderr

GitHub Actions / coding agent

permissions:
  id-token: write
  contents: read
steps:
  - uses: actions/checkout@v4
  - uses: actions/setup-node@v4
    with:
      node-version: "22"
  - run: npm ci && npm run build
    working-directory: path/to/nexus-mcp
  - name: Run agent with Nexus MCP
    env:
      NEXUS_URL: ${{ vars.NEXUS_URL }}
      TENANT_ID: ${{ vars.TENANT_ID }}
      NEXUS_OIDC_AUDIENCE: ${{ vars.NEXUS_OIDC_AUDIENCE }}
    run: node path/to/nexus-mcp/dist/index.js

Register owner/repo (immutable ids) on a Nexus OIDC trust policy with the roles the agent needs (contributor / approver / etc.).

MCP client config (stdio example)

{
  "mcpServers": {
    "nexus": {
      "command": "node",
      "args": ["/absolute/path/to/nexus-mcp/dist/index.js"],
      "env": {
        "NEXUS_URL": "https://api.nonprod.plugin-federation.com",
        "TENANT_ID": "11111111-1111-4111-8111-111111111111",
        "GITHUB_OAUTH_CLIENT_ID": "Ov23li…"
      }
    }
  }
}

Development

npm run typecheck
npm run dev
A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • MCP server for interacting with the Supabase platform

  • MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/plugin-federation/nexus-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server