Lead Stampede MCP Server
Lead Stampede MCP Server
The live backend that powers Lead Stampede Agent Cards. Exposes SMB business data as tools that AI agents can call over HTTP.
What this is
An Express server that implements four MCP tools:
Tool | What it returns |
| Name, description, industry, service area, contact info |
| List of services + pricing summary |
| Hours + booking URL (or phone/email fallback) |
| Review count, average rating, summary |
Each request is authenticated via an X-Agency-API-Key header that maps to a
row in the agencies table in Supabase. Clients are scoped to their agency,
so one agency can never read another's data.
Setup
1. Install
npm install2. Configure environment
cp .env.example .envThen edit .env and fill in:
SUPABASE_URL— your project URL (e.g.https://xlhxnlhxeprtzwbyepza.supabase.co)SUPABASE_SERVICE_ROLE_KEY— from Supabase → Project Settings → API →service_rolesecretPORT— defaults to 3000
Never commit .env to git. It's already in .gitignore.
3. Run locally
npm run devYou should see:
Lead Stampede MCP server listening on port 3000Testing it works
Health check (no auth)
curl http://localhost:3000/health
# → {"status":"ok","timestamp":"..."}List available tools (auth required)
curl -H "X-Agency-API-Key: YOUR_AGENCY_API_KEY" \
http://localhost:3000/mcp/toolsCall a tool
curl -X POST \
-H "X-Agency-API-Key: YOUR_AGENCY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"arguments":{"client_slug":"grandinetti-molinar-law"}}' \
http://localhost:3000/mcp/tools/get_business_profileExpected response:
{
"tool": "get_business_profile",
"result": {
"business_name": "Grandinetti & Molinar Law",
"description": "Austin-based law firm founded in 2002...",
"industry": "legal",
...
},
"response_ms": 42
}Deploying to Railway
Push this folder to a new GitHub repo.
In Railway: New Project → Deploy from GitHub repo.
Select this repo.
Under Variables, add:
SUPABASE_URLSUPABASE_SERVICE_ROLE_KEY
Railway auto-detects Node.js, installs deps, and runs
npm start.Once deployed, Railway gives you a public URL like
mcp-production.up.railway.app.Point a custom subdomain (e.g.
mcp.leadstampede.io) at it via Railway → Settings → Domains.
Architecture
AI agent → POST /mcp/tools/:name → auth.js → tools.js → supabase.js
↓
analytics.js (fire-and-forget)
↓
mcp_tool_calls tableNext steps
Build the Cloudflare Worker that serves Agent Cards at
agentcards.leadstampede.io/{slug}.Build the onboarding form that populates
clientsrows in Supabase.Build the agency portal dashboard.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/treymerica1982/lead-stampede-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server