JSON Placeholder Posts MCP
Click on "Deploy 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., "@JSON Placeholder Posts MCPget posts for user 1"
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.
JSON Placeholder Posts MCP
A small UV-managed FastMCP server that calls:
https://json-placeholder.mock.beeceptor.com/postsIt exposes two MCP tools:
get_posts_by_user, which returns matching posts whenuserIdis provided. IfuserIdis missing, it creates a durable pending workflow instead of using native MCP elicitation.continue_workflow, which accepts the missing input and completes a pending workflow from any pod.
The tools emit MCP server notifications with log messages and progress updates while they resolve input, fetch posts, and filter results.
Setup
uv syncRelated MCP server: mcp-jsonplaceholder
Run
For MCP clients that use stdio:
uv run json-placeholder-posts-mcpFor local HTTP testing:
uv run json-placeholder-posts-mcp --transport streamable-httpBy default the HTTP server listens at:
http://127.0.0.1:8000/mcpYou can override the host and port with environment variables:
HOST=127.0.0.1 PORT=9000 uv run json-placeholder-posts-mcp --transport streamable-httpWorkflow continuation uses Mongo. By default, the server connects to
mongodb://localhost:27017:
uv run json-placeholder-posts-mcp --transport streamable-httpFor deployed environments, override the Mongo connection details:
MONGO_URI=mongodb://mongo:27017 \
MONGO_DATABASE=json_placeholder_posts_mcp \
MONGO_WORKFLOW_COLLECTION=elicitation_workflows \
uv run json-placeholder-posts-mcp --transport streamable-httpTechnical Design
See docs/mcp-workflow-design.md for the MCP creation flow, workflow continuation pattern, elicitation decision, and multi-pod workflow ID storage design.
Tool
get_posts_by_user
Fetches all posts from the Beeceptor API and returns only posts matching the
provided userId. When userId is omitted, the server creates a pending
workflow that any pod can continue with the returned workflowId.
Input:
{
"userId": 1
}Output:
{
"status": "completed",
"userId": 1,
"count": 2,
"posts": [],
"source": "https://json-placeholder.mock.beeceptor.com/posts"
}Pending workflow input:
{}Pending workflow output:
{
"status": "input_required",
"workflowId": "abc123",
"message": "Please choose a user:\n1. User 1\n2. User 2\n3. User 3\n4. User 4\n5. User 5\n6. User 6\n7. User 7\n8. User 8\n9. User 9\n10. User 10\n\nReply with the number or userId.",
"requiredInput": {
"field": "userId",
"type": "select",
"dataType": "integer",
"display": "dropdown",
"options": [
{
"label": "User 1",
"value": 1
},
{
"label": "User 2",
"value": 2
},
{
"label": "User 3",
"value": 3
}
]
},
"nextTool": "continue_workflow",
"expiresAt": "2026-06-18T10:15:00+00:00"
}Clients that own their UI can render requiredInput.options as a dropdown.
Chat clients without custom UI support can show the same message as numbered
choices and pass the selected userId to continue_workflow.
continue_workflow
Completes a pending workflow and clears its stored details after success or failure.
Input:
{
"workflowId": "abc123",
"userId": 1
}Development
uv run pytest
uv run ruff check .This server cannot be deployed
Maintenance
Related MCP Connectors
JSONPlaceholder MCP — wraps JSONPlaceholder fake REST API (free, no auth)
Scrape and analyze public LinkedIn posts as structured JSON via the Apify LinkedIn Posts API.
Browse and manage Reddit posts, comments, and threads. Fetch user activity, explore hot/new/rising…
Publish, schedule, and manage social media posts across major platforms via the Postproxy API.
Related MCP Servers
- FlicenseBqualityDmaintenanceProvides access to JSONPlaceholder's free fake REST API for testing and prototyping, enabling interaction with sample posts, users, comments, albums, photos, and todos through tools, resources, and prompts.8-
- AlicenseNot gradedqualityBmaintenanceWraps the JSONPlaceholder fake REST API to enable testing and prototyping with CRUD operations on posts, comments, and other resources via MCP.3 npmMIT
- FlicenseNot gradedqualityCmaintenanceExposes a Posts & Comments API as MCP tools over Streamable HTTP, enabling CRUD operations on posts and comments with validation.-
- FlicenseNot gradedqualityDmaintenanceEnables querying and managing the JSONPlaceholder API (posts, users, comments) through natural language via the Model Context Protocol.-