publicmcp
Build a PUBLICMCP-compliant business identity MCP server in minutes.
PUBLICMCP is an open standard for public-facing business identity MCP servers — structured, AI-readable business data that any AI agent or MCP client can query. This package is the reference implementation.
Full spec and registry: github.com/joeprovence/publicmcp
Quickstart
pip install publicmcp
publicmcp init # create business.json
publicmcp serve # start server on :8000
Point your MCP client at http://localhost:8000/mcp. That's it.
What it does
publicmcp serve starts a FastMCP server that exposes your business.json as structured MCP tools. AI agents (Claude, Gemini, GPT, Continue, etc.) can call these tools to learn about your business, qualify a prospect, or pull your service and portfolio data — without hallucinating.
Browsers hitting the root URL are redirected to your publicmcp_page landing page. AI agents get MCP.
CLI reference
publicmcp init [--output business.json] [--force]
Create a starter business.json template.
publicmcp serve [--business business.json] [--host 0.0.0.0] [--port 8000] [--domain your.domain.com]
Start the server. --domain sets the URL in the discovery endpoint.
Endpoints
| Path | Method | Description |
|---|---|---|
/mcp |
POST | MCP (streamable-http) — for AI agents |
/.well-known/publicmcp.json |
GET | Discovery endpoint |
/info |
GET | Plain-text server summary |
/ |
GET | Discovery payload (JSON) |
Tools (PUBLICMCP v0.2)
All tools are read-only. Data comes from your business.json — no external calls.
| Tool | Required | Description |
|---|---|---|
get_info |
✓ | Name, tagline, description, contact, founders, hours, social profiles |
get_services |
✓ | Services with pricing, highlights, and timeline |
get_location |
✓ | Offices, service areas, headquarters, geo |
get_portfolio |
— | Portfolio items, filterable by market and category |
get_sales_context |
— | Objection handling, pain points, ideal client profile (requires sales_agent in business.json) |
qualify_prospect |
— | Fit score, vertical detection, service recommendation (requires primary_markets in business.json) |
Plus one prompt: sales_workflow — tool chaining guide for consultative sales AI agents.
business.json
publicmcp init creates a starter template. The minimum required fields for spec compliance:
{
"name": "Your Business",
"services": [...],
"locations": [...]
}
A full v0.2 schema is in the spec.
Discovery
Every server exposes a /.well-known/publicmcp.json endpoint so AI agents can auto-discover capabilities:
{
"publicmcp_version": "0.2",
"auth": "none",
"endpoint": "https://mcp.yourdomain.com/mcp",
"tools": [...]
}
Production deployment
For production, run behind a reverse proxy (Caddy or nginx) with SSL:
# Caddyfile
mcp.yourdomain.com {
reverse_proxy 127.0.0.1:8000
}
Then run with your public domain:
publicmcp serve --business business.json --host 127.0.0.1 --port 8000 --domain mcp.yourdomain.com
Registry
Live deployments are listed in the PUBLICMCP registry. 15 servers active across the US and Canada as of April 2026.
To register your server, open a PR to registry/servers.yaml.
Links
- Spec: SPEC.md
- Registry: registry/servers.yaml
- Standard: publicmcp.org
- PyPI: pypi.org/project/publicmcp
License
Apache 2.0 — see LICENSE.
Release files for publicmcp 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| publicmcp-0.4.0.tar.gz | 6.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| publicmcp-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.8 MB
Release files / publicmcp-0.4.0.tar.gz
| Download URL | publicmcp-0.4.0.tar.gz |
|---|---|
| Size | 6.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
36fd2df1b6daec9371eb646d0b19f0d771bcc6c17eb301c06600c2cbcabfaa84
|
|
BLAKE2b-256 checksum How to use checksums |
d8cdebd32fb666cd472ac370d394b2632a1e510cbe50007e13519ed4745d0798
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / publicmcp-0.4.0-py3-none-any.whl
| Download URL | publicmcp-0.4.0-py3-none-any.whl |
|---|---|
| Size | 21.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
98d6f47b3f183766e0fa127b4a689bc1127bd134764b038a87be405d02c0a886
|
|
BLAKE2b-256 checksum How to use checksums |
f4af433e74d7d1a3fd42d3cc99642db792b6598711c15a50676cc033116a3621
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|