Skip to main content
Glama
infoshihab

MCP Pulse

by infoshihab

MCP Pulse — shareable MCP + usage analytics

Platform to share an MCP server with clients, store everything in PostgreSQL, and see which users you have and which tools they use most.

What you get

Piece

Role

Postgres

Users, API keys, every tool call

MCP endpoint (/mcp)

What you give clients (HTTP + API key)

Admin dashboard

Users, top tools, recent activity

Admin API

Create users, rotate keys, suspend access

Related MCP server: production-grade-mcp-agentic-system

Quick start

# 1. Start Postgres
npm run db:up

# 2. Install deps
npm install

# 3. Migrate + seed demo clients
npm run db:migrate
npm run db:seed

# 4. Run platform (dashboard + MCP)
npm run dev

Open http://localhost:3847

  • Admin token (default): change-me-admin-token (set in .env as ADMIN_TOKEN)

  • Paste that token in the left sidebar and click Save

Share MCP with a client

  1. Open Share MCP (or Users → Add user)

  2. Create a client — you get a one-time API key mcp_...

  3. Send them a config like:

{
  "mcpServers": {
    "shared-mcp-platform": {
      "url": "http://YOUR_HOST:3847/mcp",
      "headers": {
        "Authorization": "Bearer mcp_THEIR_KEY"
      }
    }
  }
}

Every tool call is logged to Postgres under that user.

Built-in demo tools

  • whoami — client profile

  • echo — connectivity check

  • summarize_text — short bullet summary

  • lookup_record — sample ORD/CUS lookup

  • search_docs — tiny docs search

Replace or extend tools in src/mcp/create-server.ts.

Stdio mode (local Cursor)

For a single local key:

set MCP_API_KEY=mcp_...
npm run dev:mcp

Cursor mcp.json example:

{
  "mcpServers": {
    "shared-mcp-platform": {
      "command": "npx",
      "args": ["tsx", "src/mcp/stdio.ts"],
      "env": {
        "DATABASE_URL": "postgresql://mcp:mcp_secret@localhost:5432/mcp_usage",
        "MCP_API_KEY": "mcp_..."
      }
    }
  }
}

Environment

Copy .env.example.env:

Variable

Purpose

DATABASE_URL

Postgres connection string

PORT

HTTP port (default 3847)

ADMIN_TOKEN

Dashboard / admin API auth

MCP_PUBLIC_URL

URL shown in share snippets

Admin API (examples)

curl -H "X-Admin-Token: change-me-admin-token" http://localhost:3847/api/stats
curl -H "X-Admin-Token: change-me-admin-token" http://localhost:3847/api/users

Project layout

src/
  db/          schema, migrate, seed, queries
  mcp/         MCP server (HTTP + stdio) + tools
  api/         admin REST API
  server.ts    dashboard + MCP host
public/        admin UI

Production notes

  • Change ADMIN_TOKEN and Postgres password before exposing publicly

  • Put TLS in front (nginx/Caddy) and set MCP_PUBLIC_URL to https://...

  • API keys are stored hashed (SHA-256); plaintext is only shown at create/rotate time

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A Python utility for adding usage tracking, analytics, and audit trails to MCP servers using SQLite-backed persistence. It enables developers to monitor tool, prompt, and resource activity and expose these statistics directly to LLM clients.
    4
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that provides cost and reliability observability for LLM and agent workflows. It records model calls and allows querying and aggregating telemetry data through MCP tools.
    6
    MIT

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/infoshihab/mcp-structure'

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