learn-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@learn-mcpCreate a user named John with email john@example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
learn-mcp
A learning MCP (Model Context Protocol) server built with the official TypeScript SDK. It exposes tools, resources, prompts, and sampling to AI clients like Cursor.
Data is stored in a local JSON file (src/data/users.json) — no external database required.
Features
Tools
Tool | Description |
| Create a user with |
| Uses MCP sampling to ask the client's AI to generate a fake user, then saves it |
Resources
Resource | URI | Description |
|
| All users (static resource) |
|
| Single user by ID (resource template) |
Prompts
Prompt | Args | Description |
|
| Returns a message template asking the AI to generate a fake user for a given name |
Related MCP server: FastMCP Training Course Server
Prerequisites
Node.js 18+
npm
Getting started
# Install dependencies
npm install
# Build TypeScript (optional — Cursor config uses tsx directly)
npm run buildScripts
Command | Description |
| Compile TypeScript to |
| Recompile on file changes |
| Run compiled server ( |
| Run server via tsx (development) |
| Run with tsx watch mode |
| Open MCP Inspector in the browser |
Cursor setup
This project includes .cursor/mcp.json:
{
"mcpServers": {
"learn-mcp": {
"type": "stdio",
"command": "npx",
"args": ["tsx", "src/index.ts"],
"cwd": "${workspaceFolder}"
}
}
}After opening the project in Cursor:
Go to Settings → MCP and confirm
learn-mcpis connectedUse Agent mode to invoke tools and read resources
Reload the window if the server doesn't appear (
Ctrl+Shift+P→ "Developer: Reload Window")
Example prompts in Cursor
Create a user named Alice with email alice@example.com, address 42 Oak St, phone 555-1234
Show me all users
Read users://5/profile
Use the generate-fake-name prompt with name "Jared Leto"MCP Inspector
Test tools, resources, and prompts without Cursor:
npm run inspectOpen the URL printed in the terminal (usually http://localhost:6274).
Stdio rule: Never run the server through
npm run devin MCP config — npm prints to stdout and breaks the JSON-RPC transport. Always usetsx src/index.tsornode build/index.jsdirectly.
Project structure
├── .cursor/
│ └── mcp.json # Cursor MCP configuration
├── src/
│ ├── index.ts # Server entry point
│ └── data/
│ └── users.json # User "database"
├── build/ # Compiled output (gitignored)
├── package.json
├── tsconfig.json
└── README.mdTransport
Uses stdio — the client spawns the server process and communicates over stdin/stdout. This is the standard setup for local MCP servers in Cursor and Claude Desktop.
Sampling note
create-random-user calls sampling/createMessage, which asks the client (not the server) to run an LLM and return generated text. This requires the client to support the sampling capability.
Works when the client implements
sampling/createMessageand the user approves the requestCursor may not fully support sampling yet — if
create-random-userfails withMethod not found, usecreate-userinstead
Development notes
Use
registerTool(),registerResource(), andregisterPrompt()— the older.tool(),.resource(), and.prompt()methods are deprecatedResource templates need a
listcallback for Cursor to discover individual URIsUse
console.error()for debug logs — neverconsole.log()on stdio transport (stdout is reserved for JSON-RPC)McpServerconstructor takes two arguments: server info (name,version) and options (capabilities, etc.)
License
ISC
This server cannot be installed
Maintenance
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/eik-1/local-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server