fake-py-mcp
This project exposes all Faker class methods from fake.py as MCP tools using FastMCP 2.0.
Purpose
It’s easy for a model to look smart “on paper”, but real-world work requires following strict technical rules.
This MCP server provides a wide range of complex, “fake” tools to test how well a model actually follows instructions. By asking a model to generate data for these tools, you can see if it:
Uses the exact parameters required (no more, no less).
Provides the correct data types and formats.
Understands complex technical requirements without making mistakes.
If a model can accurately handle these fake tools, you can trust it to handle your real production tools. It’s a simple way to find out which models are actually ready for work.
Features
80+ fake.py fake data methods (names, text, internet, files, primitives, dates, geo, books, banking, file content), dynamically registered (no manual boilerplate), categorised and documented.
Binary outputs (e.g., images, PDFs) are returned as base64-encoded strings.
server_infotool for introspection.
Prerequisites
Python 3.10+
Installation
uv tool install fake-py-mcp
Usage
Run the server
STDIO
fake-py-mcp
HTTP
fake-py-mcp http
SSE
fake-py-mcp sse
Connect with any MCP client to access all fake.py tools
Developers need good tools. Unfortunately, FastMCP does not come with a GUI (like OpenAPI/Swagger), but there are good tools available.
Option 1: MCP Inspector
Installation
brew install mcp-inspector
Usage
Run MCP Inspector on port 8006:
CLIENT_PORT=8006 mcp-inspector fake-py-mcp
Or if you prefer no-auth option:
DANGEROUSLY_OMIT_AUTH=true CLIENT_PORT=8006 mcp-inspector fake-py-mcp
Open http://127.0.0.1:8006 and enjoy the MCP Inspector interface.
Option 2: mcpo
Installation
uv tool install mcpo
Usage
Run mcpo on port 8006:
mcpo --port 8006 -- fake-py-mcp
Open http://127.0.0.1:8006/docs and enjoy OpenAPI Swagger comfort.
Documentation
Documentation is available on Read the Docs.
Tests
Run the tests:
pytest
Writing documentation
Keep the following hierarchy.
=====
title
=====
header
======
sub-header
----------
sub-sub-header
~~~~~~~~~~~~~~
sub-sub-sub-header
^^^^^^^^^^^^^^^^^^
sub-sub-sub-sub-header
++++++++++++++++++++++
sub-sub-sub-sub-sub-header
**************************
License
MIT
Support
For security issues contact me at the e-mail given in the Author section.
For overall issues, go to GitHub.
Project documentation
Contents: