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_info tool 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.
Release files for fake-py-mcp 0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fake_py_mcp-0.3.tar.gz | 13.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fake_py_mcp-0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.1 kB
Release files / fake_py_mcp-0.3.tar.gz
| Download URL | fake_py_mcp-0.3.tar.gz |
|---|---|
| Size | 13.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
46250732cb0ffb235f428427b7a2ee7b9dafb9cbdb5d70d900b08c0cdfd3ef05
|
|
BLAKE2b-256 checksum How to use checksums |
a706d97968d9e3d1b1ebb9cba9743f71586e404c235854c0091fb455e6090138
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|
Release files / fake_py_mcp-0.3-py3-none-any.whl
| Download URL | fake_py_mcp-0.3-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ed2a7513974d34bc5bfc61b948c0933930cbd995e2bffc4ce663b708c97d02ec
|
|
BLAKE2b-256 checksum How to use checksums |
f2b1332d2e2742369e3fd79d138d07744fa7ec809aa86af8e65326e5539420ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.11
|