Skip to main content
Glama

Demo MCP Server (headless)

MCP-only project — no React UI. Connect any React (or other) app over HTTP.

Agents

Folder

Id

Role

src/agents/mongo/

agent-1-mongo

MongoDB Atlas CRUD

src/agents/excel/

agent-2-excel

Local Excel .xlsx CRUD

Any React app
   │  POST /api/login  { apiKey }
   │  Authorization: Bearer <token>
   ├─► POST /api/agent   (plain English)
   ├─► /api/*            (REST Mongo helpers)
   └─► /mcp              (MCP Streamable HTTP for agent hosts)
              │
              ▼
     demo-mcp-server
        ├── agents/mongo
        └── agents/excel

Related MCP server: MongoDB MCP Server

Run

npm install
npm run api          # http://127.0.0.1:3000
npm run mcp          # stdio for Cursor

Login (from any React app)

Set CLIENT_API_KEY in .env. Then:

const login = await fetch('http://127.0.0.1:3000/api/login', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ apiKey: import.meta.env.VITE_MCP_API_KEY }),
}).then((r) => r.json());

const token = login.token;

const result = await fetch('http://127.0.0.1:3000/api/agent', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    Authorization: `Bearer ${token}`,
  },
  body: JSON.stringify({ prompt: 'show rows in people' }),
}).then((r) => r.json());

Keep secrets out of the browser bundle when possible (proxy through your React app’s backend). For local demos only, a Vite env var is fine.

CORS

CORS_ORIGIN=* allows any React origin. Or set a comma-separated list:

CORS_ORIGIN=http://localhost:5173,http://localhost:3001

Layout

src/
  agents/
    mongo/          # Agent 1
    excel/          # Agent 2
    catalog.ts      # Public agent list
  orchestrator/     # Plain-English → tool calls (LLM or rules)
  mcp/              # MCP factory + stdio
  http/             # REST + /mcp + login auth
  shared/db/        # Mongo connection helpers
data/workbook.xlsx

Cursor (stdio)

.cursor/mcp.json still points at src/mcp/stdio.ts.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants like Claude to interact with MongoDB databases through standardized MCP tools. Supports full CRUD operations, aggregations, and natural language queries with Clean Architecture and dual transport modes (STDIO/HTTP).
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server for MongoDB operations, enabling AI assistants to interact with MongoDB databases through a standardized interface.
    19 npm
    4
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Self-hosted MCP server that bridges your MongoDB or PostgreSQL database to AI agents, with sandbox isolation and field-level control.
    73
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Feature-rich MCP server for MongoDB with multi-connection support, enabling users to interact with multiple MongoDB clusters simultaneously, perform CRUD operations, run aggregations, diagnostics, and more, all through natural language.
    5 npm
    MIT