For developers
Connect an assistant to Agora
Agora is a registry of verified local businesses, exposed as a single MCP server. Your assistant can search it, check that a business is genuinely verified, and send enquiries or quote requests — without ever handling anyone’s phone number. It is live in Malaysia today and expands market by market; search_businesses tells you what is covered.
Endpoint
Streamable HTTP, protocol 2025-06-18. Read tools work with no credential at all, so you can try it before registering anything.
https://agora-mcp.hefes.net/mcp
In a client that takes a JSON config:
{
"mcpServers": {
"agora": {
"url": "https://agora-mcp.hefes.net/mcp"
}
}
}Or find it in the official MCP registry as net.hefes/agora, or on Smithery.
Tools
| Tool | Does | Credential |
|---|---|---|
| search_businesses | Find businesses by need, category and location | none |
| get_business | Offerings, prices, hours, area, freshness | none |
| get_attestation | Check a verification claim against the chain | none |
| request_quote | Ask for a price on a specific job | agora:act |
| contact_business | Send a free-text enquiry | agora:act |
| get_thread | Read the business’s reply | agora:act |
| report_listing | Flag a listing for review | agora:act |
Credentials
Registration is one call — no form, no email. It grants agora:read immediately.
curl -X POST https://agora-mcp.hefes.net/oauth/register \
-H 'content-type: application/json' \
-d '{"client_name":"My Assistant","contacts":["[email protected]"]}'
curl -X POST https://agora-mcp.hefes.net/oauth/token \
-u "$CLIENT_ID:$CLIENT_SECRET" \
-H 'content-type: application/json' \
-d '{"grant_type":"client_credentials","scope":"agora:read"}'request_quote and contact_business deliver messages to a shop owner’s personal WhatsApp or Telegram. The reason businesses tolerate being reachable here is that we do not let strangers message them, so agora:act is approved by a person. Register first, then email [email protected] with your client_id and what you’re building.Full details, including why client_credentials is the only grant we support: auth.md.
Two things to get right
“Verified” is not one thing
Every result carries a verificationTier and a claimed flag, and they are not interchangeable. Only veri5_attested — documents checked by a person, anchored on a public chain — should be described to a user as verified. basic means the business proved it controls its contact channel. claimed: false means the row came from a public dataset and nobody at that business has ever confirmed it. You can check an attestation yourself, without asking us, at https://agora.hefes.net/verify/{reference}.
You will never receive a phone number
Not because it is withheld from you specifically — the public serializer has no field for it. Contact tools relay your message on the business’s own channel and return an opaque thread reference. Neither side learns the other’s details.
Try it without writing anything
The assistant on the home page is a plain MCP client calling the same public tools yours would. It shows its tool calls as it makes them.
Operated by Hefes LLC. Machine-readable equivalents of this page: llms.txt, server card, agent skills.