An open spec for turning any business into an MCP server that AI agents can talk to.
User → AI Agent → Your MCP Server → Verified Answer + Action
Right now, when someone asks an AI "Does Acme support Salesforce?" the AI scrapes a website and guesses. With the Agentic Web, the AI calls your server directly, gets a signed answer, and can actually book the demo.
Built on MCP (Anthropic's Model Context Protocol). Any MCP client connects without custom integrations.
The bakery example is a working MCP server. Zero dependencies, just Python.
git clone https://github.com/salespeak-ai/agentic-web.git
cd agentic-web/examples/bakery
python server.pyIn another terminal:
# Connect
curl -s -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize",
"params":{"protocolVersion":"2025-03-26",
"clientInfo":{"name":"test","version":"1.0"}}}' | python -m json.tool
# Ask a question
curl -s -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"ask_question",
"arguments":{"question":"Do you have gluten-free cakes?"}}}' | python -m json.tool
# Place an order
curl -s -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call",
"params":{"name":"place_order",
"arguments":{"items":[{"cake":"Vanilla Bean","size":"8-inch"}],
"pickup_date":"2026-03-21","name":"Jamie","phone":"555-0123"}}}' | python -m json.toolYou'll get real JSON-RPC 2.0 responses with content (human-readable) and structuredContent (machine-readable data).
Your MCP server registers tools that agents discover via tools/list and call via tools/call. Which tools you expose depends on your business:
A bakery might have: ask_question, place_order
A SaaS company might have: ask_question, qualify, schedule_demo, request_quote, open_ticket
An e-commerce store might have: ask_question, check_stock, track_order, start_return
Same protocol. Different tools. The agent figures out what's available at runtime.
┌──────────┐ ┌───────────────┐ ┌──────────────────┐
│ │ │ │ │ │
│ User │──────▶│ AI Agent │◀─────▶│ Your MCP Server │
│ │ │ (any MCP │ JSON- │ │
│ │ │ client) │ RPC │ ask_question │
│ │ │ │ 2.0 │ qualify │
└──────────┘ └───────────────┘ │ schedule_demo │
│ place_order │
│ ... │
└──────────────────┘
- Agent connects to
POST /mcpand sendsinitialize - Agent calls
tools/listto see what you offer - Agent calls tools on behalf of the user
- If a tool is gated, server returns
qualificationRequiredand the agent collects info viaqualify - Responses include Ed25519 signatures so agents can prove data is authentic
No login required. Like a website.
| Tier | What happens | Think of it as |
|---|---|---|
| Anonymous | Connect and ask questions freely | Browsing a website |
| Qualified | Share info through the qualify tool |
Filling out a contact form |
| Authenticated | OAuth 2.1, only if you need account-level access | Logging in |
Most businesses only need the first two.
{
"content": [
{ "type": "text", "text": "Yes! Gluten-free Vanilla Bean, 6-inch ($30) or 8-inch ($42)." }
],
"structuredContent": {
"answer": "Gluten-free Vanilla Bean cakes available",
"options": [
{ "size": "6-inch", "price": 30 },
{ "size": "8-inch", "price": 42 }
],
"suggestedActions": ["place_order"]
}
}content is what the AI shows the user. structuredContent is typed data the agent can act on.
| Protocol | Handles | By |
|---|---|---|
| MCP | Transport (JSON-RPC 2.0 over HTTP) | Anthropic |
| Agentic Web | Business knowledge + actions (this repo) | Salespeak (open) |
| UCP | Commerce (cart, checkout, payments) | Google, Shopify, Walmart |
| A2A | Agent-to-agent negotiation |
They're independent. Use whichever ones you need.
agentic-web/
├── examples/
│ ├── bakery/ # Rosa's Bakery — working MCP server (Python, zero deps)
│ ├── saas/ # SaaS with qualification flow (coming)
│ └── ecommerce/ # E-commerce with Node.js (coming)
├── specification/ # Spec in markdown (coming — full spec at agentic-web.ai)
├── sdk/ # Python + Node.js SDKs (coming)
├── CONTRIBUTING.md
└── LICENSE # MIT
The bakery example works today. The rest is in progress.
Full spec: agentic-web.ai/specification.html
Covers transport, tools, qualification, verification (Ed25519 + JWKS), and the access model.
Found a gap? Open an issue. Built something? Submit a PR. See CONTRIBUTING.md.
No. This is an open spec. Salespeak maintains it, but anyone can implement it. The spec, examples, and future SDKs are MIT licensed. Salespeak builds commercial products on top of the spec. The spec itself is community property.
MIT