Skip to content

danielpdev/mcp-JSONPlaceholder

Repository files navigation

JSONPlaceholder MCP Server

A modern Model Context Protocol (MCP) server built with FastMCP that provides access to the JSONPlaceholder API - a free fake REST API for testing and prototyping.

Features

This MCP server provides Resources, Tools, and Prompts for interacting with JSONPlaceholder:

🔧 Tools (Actions)

  • get_posts - Retrieve all posts or a specific post by ID
  • get_users - Retrieve all users or a specific user by ID
  • get_comments - Retrieve comments, optionally filtered by post ID
  • get_albums - Retrieve albums, optionally filtered by user ID
  • get_photos - Retrieve photos, optionally filtered by album ID
  • get_todos - Retrieve todos, optionally filtered by user ID
  • create_post - Create a new post (simulated)
  • search_posts - Search posts by title or body content

📄 Resources (Data Access)

  • posts://all - Get all posts as a resource
  • posts://{post_id} - Get a specific post as a resource
  • users://all - Get all users as a resource
  • users://{user_id} - Get a specific user as a resource

📝 Prompts (Templates)

  • analyze_post - Generate analysis prompt for a specific post
  • user_profile_summary - Create comprehensive user profile analysis

How to add it to cursor:

  "mcpServers": {
    "jsonplaceholder": {
      "command": "/Users/danielpopa/Projects/work/mcp-server/cursor_runner.sh",
      "args": []
    }
  }
} 

Prerequisites

  • Python 3.10+
  • uv package manager

Installation

  1. Clone or download this project
  2. The project is already configured with uv. Simply run:
uv sync

Development & Testing

MCP Inspector (recommended for development):

uv run mcp dev server.py

This opens an interactive web interface to test all tools, resources, and prompts.

Direct server execution:

uv run python server.py

Test API connectivity:

uv run python test_server.py

Claude Desktop Integration

Install directly into Claude Desktop:

uv run mcp install server.py --name "JSONPlaceholder API"

Usage Examples

Once connected to an MCP client, you can:

Use Tools:

  • "Get all posts from JSONPlaceholder"
  • "Show me user details for user ID 1"
  • "Search for posts containing 'dolor'"
  • "Create a new post titled 'Test' with body 'Hello World' for user 1"

Access Resources:

  • The client can load posts://all to get all posts as context
  • Load users://5 to get user 5's details as background information

Use Prompts:

  • Use the "analyze_post" prompt with post ID 1 for detailed post analysis
  • Use "user_profile_summary" with user ID 2 for comprehensive user profiling

API Information

This server uses the JSONPlaceholder API (https://jsonplaceholder.typicode.com/), which provides:

  • 100 posts
  • 10 users
  • 500 comments
  • 100 albums
  • 5000 photos
  • 200 todos

No API key is required as it's completely free and public.

Architecture

Built with FastMCP, this server demonstrates modern MCP patterns:

  • Decorator-based setup - Clean, Pythonic code
  • Type hints - Better development experience
  • Async/await - Efficient HTTP requests
  • Resource management - Proper data exposure to LLMs
  • Prompt templates - Reusable interaction patterns
  • Development tools - Built-in testing and debugging

Development

The server uses:

  • FastMCP - Modern MCP server framework
  • httpx - Async HTTP client
  • Python 3.10+ - Modern Python features
  • uv - Fast Python package management

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published