Skip to content

parmindersk/mcp-starter

Repository files navigation

mcp-starter

Secure, starter MCP server boilerplate with JWT authentication, schema validation, and Docker support.

Built for developers who want to expose AI-compatible APIs to tools like Claude, OpenAI, Sourcegraph Cody, or custom agents using the Model Context Protocol (MCP).

Features

  • JWT-based authentication with tenant isolation
  • Function auto-loading from /functions directory
  • Inline per-function schema validation (via AJV)
  • Dynamic MCP manifest generation (/mcp-manifest.json)
  • Docker container
  • CLI utility to generate JWTs for local testing
  • Health endpoints (/mcp, /healthz)

Running locally

Clone repo

git clone https://github.com/parmindersk/mcp-starter.git
cd mcp-starter

Run with Docker

docker-compose up

Run from code

pnpm install
pnpm start

Generating a Test Token

node tools/generateToken.js --tenant=acme --secret=supersecure

The --secret value (supersecure) must match the JWT_SECRET defined in your .env or docker-compose.yml.

Testing sample submitFeedback

curl -X POST http://localhost:3000/mcp \
  -H "Authorization: Bearer YOUR_JWT_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "method": "submitFeedback",
    "params": {
      "message": "Love the product!",
      "rating": 5
    }
  }'

You can play around with the body to remove message or give an invalid value for rating to see how validation is working.

Follow SinghSpeak.com for more.

Have feedback or feature ideas? Open an issue or contribute via pull request.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors