JSONPlaceholder MCP Server
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., "@JSONPlaceholder MCP ServerList all posts"
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.
JSONPlaceholder MCP Server (practice project)
A minimal MCP server, built with the official Python SDK's FastMCP
helper, that wraps the public JSONPlaceholder
REST API. It's meant as a template: swap BASE_URL and the tool
functions for your own internal API and the shape stays the same.
What it exposes
MCP tool | REST call |
|
|
|
|
|
|
|
|
|
|
|
|
Related MCP server: JSONPlaceholder MCP Server
1. Set up
cd jsonplaceholder-mcp
python -m venv .venv
source .venv/bin/activate # on Windows: .venv\Scripts\activate
pip install -r requirements.txt2. Sanity-check it runs
python server.pyIt should sit there waiting on stdio (no visible output is expected — that's normal, it's waiting for an MCP client to talk to it over stdin/stdout). Ctrl+C to stop.
You can also use the MCP inspector to poke at it interactively without wiring up a full client:
mcp dev server.pyThis opens a browser UI where you can call each tool by hand and see the JSON that comes back.
3. Connect it to Claude Desktop
Add an entry to your Claude Desktop config
(~/Library/Application Support/Claude/claude_desktop_config.json on
macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"jsonplaceholder": {
"command": "/absolute/path/to/.venv/bin/python",
"args": ["/absolute/path/to/jsonplaceholder-mcp/server.py"]
}
}
}Restart Claude Desktop, and the jsonplaceholder tools should show up
in the tool picker.
4. Where to go from here (adapting to a real API)
To point this at an internal REST service instead:
Change
BASE_URL.Add auth — most internal APIs need a header or token. Add it once in
_get/_post(e.g.headers={"Authorization": f"Bearer {TOKEN}"}), pulling the token from an environment variable rather than hardcoding it.Replace each
@mcp.tool()function with one per operation you want to expose. Keep the docstrings precise — the LLM uses them to decide when and how to call each tool, so vague docstrings lead to the tool being picked (or skipped) incorrectly.Keep tools narrow and single-purpose rather than one giant "call any endpoint" tool — that's what makes MCP tools reliable for an LLM to select correctly.
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
- 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/Rajes07/MCP_Public'
If you have feedback or need assistance with the MCP directory API, please join our Discord server