JSONPlaceholder

liveDeveloper

Fake REST API for prototyping and testing — posts, users, and comments with no setup required

4tools
0msauth
free tier50 calls/day

Tools

get_posts

Fetch all fake blog posts for testing and prototyping. Returns post ID, user ID, title, and body text.

Parameters
NameTypeDescription
limitoptnumberMaximum number of posts to return (default 10, max 100).
▶Try it
get_postrequired: id

Fetch a single fake blog post by ID (e.g., "1"). Returns post ID, user ID, title, and body text.

Parameters
NameTypeDescription
idreqnumberPost ID to retrieve (1–100).
▶Try it
get_users

Fetch all fake users for testing. Returns name, username, email, address, phone, website, and company details.

No parameters required.

▶Try it
get_commentsrequired: post_id

Fetch comments for a specific post by post ID (e.g., "1"). Returns comment ID, commenter name, email, and body text.

Parameters
NameTypeDescription
post_idreqnumberPost ID whose comments to retrieve (1–100).
▶Try it

Test with curl

The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/jsonplaceholder/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/jsonplaceholder/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_posts","arguments":{}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("get_posts", {});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("fake rest api for prototyping and testing — posts, users, and comments with no setup required");