MCP1
A minimal MCP server that tells an interactive knock-knock joke suitable for children, supporting both local stdio and HTTP deployments.
README
MCP1
A minimal Model Context Protocol server named MCP1 with one skill: Tell Joke.
Supports local stdio (Cursor subprocess) and Streamable HTTP (web deployment).
Skill: Tell Joke
When invoked, the agent leads an interactive knock-knock joke suitable for a 6-year-old — starting with "Knock knock!" and waiting for the user to play along.
Tools
| Tool | Description |
|---|---|
tell_joke |
Invoke the Tell Joke skill and begin a knock-knock joke |
list_skills |
List available skills |
get_skill |
Load a skill's full SKILL.md by id (e.g. tell-joke) |
Local development (stdio)
node src/index.mjs
Or explicitly:
MCP_TRANSPORT=stdio node src/index.mjs
Project config: .cursor/mcp.json
Web deployment (HTTP)
Start the HTTP server locally:
MCP_TRANSPORT=http PORT=3000 node src/index.mjs
Endpoints:
| Path | Method | Purpose |
|---|---|---|
/mcp |
POST | MCP Streamable HTTP endpoint |
/health |
GET | Health check for load balancers |
/ |
GET | Server info |
Docker
docker build -t mcp1 .
docker run -p 3000:3000 mcp1
Or with Docker Compose:
docker compose up --build
Deploy to Render
- Push this repo to GitHub.
- Create a new Web Service on Render.
- Point it at this repo —
render.yamlis included. - After deploy, your MCP URL will be
https://<your-service>.onrender.com/mcp.
Optional API key
Set MCP_API_KEY to require authentication:
MCP_API_KEY=my-secret-key MCP_TRANSPORT=http node src/index.mjs
Clients must send either:
Authorization: Bearer my-secret-key, orX-API-Key: my-secret-key
Connect Cursor to the deployed server
Copy .cursor/mcp.remote.example.json into your Cursor MCP config and set your URL:
{
"mcpServers": {
"MCP1": {
"url": "https://your-mcp1-host.example.com/mcp",
"headers": {
"Authorization": "Bearer ${env:MCP_API_KEY}"
}
}
}
}
Use either:
- Project config:
.cursor/mcp.jsonin this repo - Global config:
~/.cursor/mcp.json
Then enable MCP1 in Cursor Settings → MCP.
Environment variables
| Variable | Default | Description |
|---|---|---|
MCP_TRANSPORT |
stdio |
stdio or http |
PORT |
3000 |
HTTP listen port |
HOST |
0.0.0.0 |
HTTP bind address |
MCP_PATH |
/mcp |
MCP endpoint path |
MCP_API_KEY |
(none) | Optional bearer/API key |
Project layout
MCP1/
├── .cursor/
│ ├── mcp.json
│ └── mcp.remote.example.json
├── skills/tell-joke/SKILL.md
├── src/
│ ├── core.mjs
│ ├── http.mjs
│ ├── stdio.mjs
│ └── index.mjs
├── Dockerfile
├── docker-compose.yml
├── render.yaml
└── package.json
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
E2B
Using MCP to run code via e2b.