Skip to main content
Glama
NonAgenticAI MCP Server

NonAgenticAI MCP Server

Official
by nonagenticai

NonAgenticAI executable catalog

The platform stores immutable executable tool/toolkit versions, authenticates binding-scoped MCP discovery, and implements a host credential broker, PostgreSQL queue and ephemeral Kata worker. UUIDv7 is required throughout. Runtime configuration is disabled by default; combined cluster acceptance and the coordinated rollout remain required before production enablement.

See the publication contracts and runtime implementation and rollout. Schema head is 0006_tool_call_audit.

Current behavior

  • Builtin provider (src/builtin/): main's 34 first-party care-bus/researcher tools run in-process for two non-binding callers, a care-bus tenant licence and a Keycloak service JWT. Each caller gets a fixed scope, every call is audited into mcp_tool_call_audit, and binding callers never see these tools. See AUTHENTICATION_BINDINGS and caller contract.

  • Strict schema-version-1 manifests; UUIDv7 identities throughout; separate ownership and actor attribution; exact operation/service versions.

  • Closed, bounded Draft 2020-12 JSON Schema subset; no external reference fetching or uploaded code imports.

  • UTF-8 multi-file packages, canonical paths, golden SHA-256 identities, operator-approved image digests.

  • Atomic draft snapshots, parent-row-serialized version allocation, expected-revision conflicts, source attribution for copies.

  • Database guards protect all snapshot content, including drafts. Lifecycle changes update transactional catalog generation. Tenant operations always require explicit ownership. A separate internal platform path manages service/operation contracts and sharing grants.

  • Shared bounded license introspection, immutable request principals, tenant-allowlisted operator keys and pure ASGI authorization on every /mcp request.

  • Immutable toolkit versions, conjunctive selection, credential aliases, and tenant-scoped binding issuance, revision checks, one-time token return, rotation/revocation and durable session identity.

  • Authenticated complete-package tool authoring/publication with transactional exact-version audit; metadata-only listings and tenant-owned package inspection.

  • Stateless Streamable HTTP at /mcp and /mcp/, exact schema-backed tools, bounded signed pagination and live binding authorization at list/lookup/call.

  • One ASGI application with /health, /health/live, and /health/ready. Readiness checks the exact revision and catalog without DDL; missing/old schemas return bounded 503 responses. Probes report whether execution acceptance is configured. The default configuration rejects execution and creates no pods.

Legacy tool CRUD, version/backup/audit routes, arithmetic/Claude tools, OAuth/token issuance, gateway, trusted-network bypass, default tenants, and startup schema creation remain removed. /token returns 404. Unauthorized /mcp requests return 401. The authenticated protocol exposes only binding-selected schemas; with default disabled execution, valid calls return an MCP tool error with execution_unavailable. Tool/toolkit/profile/binding management requires explicit operator authorization.

  • Durable binding-owned runs, fenced leases, fair global/tenant capacity, idempotency, cancellation, API journal and quarantine/recovery.

  • Worker-only credential bundles and a scoped HTTP broker; one non-root/no-network Kata pod per invocation with bounded attach protocol.

  • Separate limited platform service/operation authoring, explicit draft OpenAPI import and internal worker probes/metrics.

Related MCP server: yourco-mcp

Development

Python 3.14, PostgreSQL 18, and uv are required. Explicitly configure a database; there is no host default and no automatic .env loading.

uv sync --frozen --extra worker
# Set DATABASE_URL to an EMPTY, dedicated development database using the migration role.
uv run alembic upgrade head
# Grant a separately created runtime role; configure its password through your secret store.
uv run python -m scripts.grant_runtime_role --role mcp_runtime
# Configure license authentication, the mounted admin-key path and tenant allowlist
# as described in docs/AUTHENTICATION_BINDINGS.md and .env.example.
# Change DATABASE_URL to the runtime role's connection URL.
uv run python -m src.run_mcp

The equivalent container command is uvicorn src.asgi:app --host 0.0.0.0 --port 8033. The image includes Alembic and all five catalog/access/publication/runtime/control revisions. It contains no Node or Claude CLI. Package content is never executed by the API.

.env.example lists catalog and authentication settings. All limits must be positive, the connection pool is bounded, and no runner image is approved by default. See developer guidance and contract details.

Compose starts a private database and a non-destructive migration container. Set MCP_LOCAL_DB_PASSWORD, run docker compose up --build migrate, create/grant the runtime role in that database, then set MCP_RUNTIME_DATABASE_URL, license settings, the admin-key file and tenant allowlist and run docker compose up mcp. Compose binds the API to loopback. The PostgreSQL volume uses the PostgreSQL 18 directory layout and a fresh volume name.

Reset and release hold

The only supported chain is 0001_executable_catalog → 0002_toolkits_bindings → 0003_catalog_publication → 0004_execution_runtime → 0005_execution_controls → 0006_tool_call_audit. Old revision IDs are intentionally unrecognized. Do not stamp an old database or attempt to upgrade its rows into the new contracts. Existing development data is discarded once during the coordinated rollout; the recurring migration command never resets data.

Automatic image publication and deployment are held in CI. The existing GitOps migration init container would otherwise run the fresh chain against the old database. Implementation tests reset only disposable databases; they do not reset the deployed database.

Checks

uv run --extra worker ruff check src/ runner/ tests/ migrations/ scripts/
uv run --extra worker ruff format --check src/ runner/ tests/ migrations/ scripts/
uv run ty check .
uv run --extra worker pytest tests/ --cov=src --cov=runner --cov-report=term-missing
scripts/pip-audit.sh
uv run --extra worker bandit -r src/ runner/ scripts/ -ll
git diff --check

The required coverage threshold remains 85%. Database tests automatically provision a disposable postgres:18 container, create isolated databases, and remove them afterward. An explicit TEST_DATABASE_URL or TEST_POSTGRES_URL may supply a test server with database-create and role-create permissions; only randomly named databases created by this suite are dropped. Runtime DATABASE_URL is never consulted for tests. Unavailable database infrastructure fails the suite rather than skipping it. Worktrees are excluded from the image and type-check scope.

License

Apache 2.0 — see LICENSE and NOTICE.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables users to define and run MCP tools using declarative YAML configs with built-in trust enforcement, credential brokering, and tamper-evident audit logging.
      14
      MIT
    • F
      license
      Not graded
      quality
      B
      maintenance
      Enables developers to build MCP servers with registry-managed tool metadata, runtime hot-reloading, pluggable authentication and authorization, per-audience tool views, and resilient stateless operation.
      -
    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables secure discovery and invocation of sandboxed filesystem, repository inspection, and utility tools through a unified MCP client with schema validation, timeouts, and execution traces.
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to discover and invoke versioned external tools through an MCP or REST gateway with authentication, authorization, mutation safety, reliability controls, audit logging, and replay.
      Apache 2.0