OpsMCP

MCP control plane · docs & simulated demos

Not just tool access — gated tool access.

OpsMCP is a FastMCP server that lets an AI agent operate GitHub, Postgres, deploy status, and a sandboxed filesystem — only after fail-closed security checks. Credentials stay in the local server process.

FastMCP Python 3.12 Postgres GitHub API sqlglot Docker

This site is static. The real MCP server runs locally over stdio — nothing here holds your tokens.

How it works

The agent proposes a tool call. The security/ layer is the gate — adapters never see rejected input.

1 Agent / Cursor proposes tool + args
2 MCP stdio FastMCP server
GATE security/ sandbox · SQL AST · dry_run · rate limit
3 adapters/ GitHub · Postgres · FS
4 Real systems only if allowed

Package layout: tools/ · security/ · adapters/ · config.py

Safety showcase

Watch the gate stop something bad. Examples use the server’s real rejection messages — simulated locally in your browser, not a live MCP call.

Select a demo

Gate:

Agent request input

            
Server response —

            

Tool catalog

Eight typed tools, grouped by system — what each can and cannot do.

Simulated playground Simulated

Browser-only walkthroughs of dry-run writes and fail-closed refusals. No calls to GitHub or Postgres from this page.

Select a scenario


            
            
            
          

Architecture

Same shape as the README — rendered for scanning in 10 seconds.

Agent (stdio)
FastMCP server
tools/
security/
adapters/
config.py
GitHub API PostgreSQL Actions Local FS

Cursor setup

Wire the local stdio server. Secrets stay in .env on your machine.

  1. Clone tanmays0/ops-mcp and run uv sync
  2. Copy .env.example → .env (token, DSN, FS roots)
  3. Optional: docker compose up -d for the seeded Postgres demo
  4. Launch: uv run python -m ops_mcp (or let Cursor spawn it)
  5. Point Cursor at the config below — replace absolute paths
Never paste GitHub tokens or database URLs into this public site.
.cursor/mcp.json

        

Stack

Python 3.12 FastMCP httpx psycopg sqlglot Pydantic Settings Docker GitHub Actions pytest