MCP server for ChatGPT and Claude
Prosp runs a remote Model Context Protocol server, so an AI agent such as ChatGPT or Claude can start discoveries, poll them and read the results for you. The agent calls the same customer API that is documented in the API reference, so credits, rate limits and the customer-safe field set are identical on every surface.
Connect
| Server URL | https://api.prosp.cc/mcp-rpc (no trailing slash: /mcp-rpc/ answers with a redirect) |
| Transport | Streamable HTTP |
| Sign-in | OAuth 2.1 authorization code with PKCE. The agent registers itself and opens a sign-in window: choose Continue with Telegram, or sign in with an e-mailed one-time code. There are no API keys to paste. |
Before you connect, open the Telegram bot @prosp_mcp_credits_bot, buy
credits with /buy and run /connect; see the Telegram bot guide.
Claude: Settings → Connectors → Add custom connector → paste the server URL → save, then complete the sign-in window.
ChatGPT: on a plan with connectors / developer mode enabled, Settings → Connectors → Add connector → paste the server URL → save, then complete the sign-in window.
Tools
The authoritative list is what the server answers to tools/list; this table mirrors it.
Discovery
| Tool | What it does | Credits |
|---|---|---|
find_prospects |
Start a discovery job from criteria (a natural-language query, plus optional industries, locations, company sizes, keywords, exclusions, sub-country regions and business models). Returns a jobId immediately; the job runs asynchronously, typically 5–25 minutes. |
100 |
get_discovery_status |
Poll a job: lifecycle state, total_prospects so far, target, and the found domains, which accumulate while the job runs. Pass the previous next_cursor as cursor to receive only new domains. |
free |
get_discovery_results |
Result summary and the discovered companies, with verified contacts, once the job is terminal. | free |
cancel_discovery |
Cancel a running job. Credits are refunded only when nothing had been delivered at cancel time. | free |
search_prospects |
Semantic free-text search over companies you have already discovered; lean summaries with has_more / next_cursor paging. |
free |
get_prospect |
The full record for one discovered company by domain. |
free |
acknowledge_prospects |
Mark domains as delivered so they are not returned again. Idempotent. | free |
Saved ICPs (Ideal Customer Profiles)
| Tool | What it does | Credits |
|---|---|---|
list_icps |
List your saved ICPs. | free |
save_icp |
Save reusable discovery criteria; returns an icpId. Saving does not run a discovery. |
free |
run_icp |
Start a discovery from a saved icpId. |
100 |
Credits
| Tool | What it does |
|---|---|
get_credit_balance |
Remaining balance and the per-job cost. |
get_credit_ledger |
Every debit and refund behind the balance, newest first. |
Odoo CRM
| Tool | What it does |
|---|---|
set_odoo_credentials |
Connect your own Odoo CRM so discovered prospects sync into it. The connection is validated live before it is saved; the API key is stored encrypted and never shown back. |
get_crm_connection |
Show the configured connection (never the key). |
disconnect_crm |
Stop syncing. Idempotent. |
Circular-economy opportunities
| Tool | What it does |
|---|---|
list_circular_opportunities |
Opportunities inferred from your own stored business profile. Each element carries a speech_act: ASSERT (you told us) or ASK (we inferred it, so it may only be raised as a question). |
run_circular_opportunity |
Start a counterpart search for one opportunity by its handle. An inferred resource must be confirmed in your own words first. Debits credits. |
A typical conversation
- "Find independent menswear retailers in Germany and Austria with 10–200 staff."
- The agent calls
find_prospectsand keeps thejobId. - It polls
get_discovery_status; domains appear infoundas they are validated. - When the job is terminal it calls
get_discovery_resultsand summarises the companies. - Follow-ups such as "show me everything about the third one" use
get_prospect.
Errors
Tool errors carry the same stable codes as the REST API, for example insufficient_credits
(top up with /buy), rate_limit_exceeded (too many requests or too many concurrent jobs) and
service_unavailable (retry shortly). Quote the request_id of any error when you ask for help.