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

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

-
license - not tested
-
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.

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