Claude
Settings → Connectors → Add custom connector. Paste the MCP URL and sign in to TOPY when asked.
https://topy.ai/mcpDevelopers
TOPY.AI writes and maintains founders’ business plans and keeps their CEO records. The same 93 tools are available to Claude, ChatGPT, Cursor, your terminal and your own code — one remote MCP server, one set of rules.
https://topy.ai/mcpConnect
Settings → Connectors → Add custom connector. Paste the MCP URL and sign in to TOPY when asked.
https://topy.ai/mcpSettings → Apps & Connectors → Create (developer mode). Use the MCP URL with OAuth.
https://topy.ai/mcpAdd the remote server, then run /mcp to sign in.
claude mcp add --transport http topy https://topy.ai/mcpAdd a remote MCP server with this URL; the client handles the OAuth sign-in.
{ "mcpServers": { "topy": { "url": "https://topy.ai/mcp" } } }The topy CLI runs every tool; changes preview first and ask before they run.
npm i -g @topy-ai/ceo
topy login
topy plans_listSix skills that know the TOPY workflows: business plans, revisions, fundraising, the CEO workspace, projects.
npx @topy-ai/ceo skills installSafety
Every tool runs as you, through the same API as the dashboard: an agent can never do more than you can.
A change first returns a preview. It runs only when the agent calls again with your confirmation — signed, bound to that exact change, valid for 10 minutes.
Writing a plan costs 50 credits; the preview shows your balance before and after. Nothing is spent until you confirm.
Connect with read access only and the agent never sees a tool that changes anything.
Every confirmed change is logged (agent_actions_list). Connected apps are listed under API keys and can be disconnected at once.
Workflows
Offered as MCP prompts and as topy prompt <name>.
idea-to-business-planrevise-planinvestor-ready-checkinvestor-updateweekly-ceo-reviewTools
R0 reads · W1 changes something you can change back · W2 spends credits · W4 deletes for good. Most tools act on one project (project_id). The full catalogue with input schemas: /api/v1/agent/tools.
account_get | R0 reads | Who is signed in to TOPY. |
credits_get | R0 reads | TOPY credit balance (paid and free), optionally with recent transactions. |
entitlements_get | R0 reads | The user's plan and which features it includes (AI editing, project and template limits). |
dashboard_link | R0 reads | A link to a page of the TOPY dashboard: for buying credits or plans, API keys and connected apps, or anything done in the app itself. |
agent_actions_list | R0 reads | The changes agents made for this user over MCP or the CLI (newest first), each after the user confirmed it. |
standing_permissions_list | R0 reads | Standing permissions: which of the user's keys (a scheduled agent's) may add which records to which project without a preview, each tool's daily cap and today's use. Granted and revoked by the user in the dashboard (dashboard_link page api_keys). |
projects_list | R0 reads | The user's projects (the companies or ideas TOPY works on). Most tools take one as project_id. |
project_get | R0 reads | A project's details: what it does, market, industry, keywords and website. |
project_update | W1 changes | Change a project's details. Changes the project given as project_id. |
project_create_from_idea | W1 changes | Create a project from an idea: a title and a description of the business. (runs an AI generation.) |
project_create_from_website | W1 changes | Create a project by reading an existing website (runs as a job; follow it with project_job_get). (runs an AI generation.) |
project_job_get | R0 reads | Progress of a project job (created from a website or upload). |
project_delete | W1 changes | Archive a project (restorable with project_restore). |
project_restore | W1 changes | Restore an archived project. |
ideas_generate | W1 changes | Generate startup ideas around a topic or market. (runs an AI generation.) |
idea_get | R0 reads | One idea with its details. |
idea_brainstorm | W1 changes | Brainstorm an idea in depth (by idea_id, or a free-text term): market, competitors, angles. (runs an AI generation.) |
idea_to_project | W1 changes | Turn a saved idea into a project. |
plan_options_get | R0 reads | Business plan templates, purposes, audiences and writing styles for a project, with the recommended template. Use these ids exactly. |
plans_list | R0 reads | List a project's business plans (summaries with status, words and section list). |
plan_get | R0 reads | A business plan: summary and section list; set full for the whole Markdown or section for one section's Markdown. |
plan_status | R0 reads | Generation progress of a plan (or of a job: a generation, revision, Markdown fix or impact analysis). |
plan_estimate | R0 reads | What a business plan generation costs in TOPY credits against the current balance (no charge). |
plan_generate | W2 spends credits | Start writing a new business plan for a project with a template, purpose, audience and style from plan_options_get (about 7 minutes). Costs 50 TOPY credits. (spends TOPY credits; runs an AI generation.) |
plan_job_cancel | W1 changes | Cancel a queued or running business plan job. |
plan_job_retry | W2 spends credits | Retry a failed business plan generation. Costs 50 TOPY credits again (a failed job was refunded). (spends TOPY credits; runs an AI generation.) |
plan_update | W1 changes | Replace a plan's Markdown: one section (with section) or the whole plan. Use for edits the user wrote or accepted. |
plan_rename | W1 changes | Rename a business plan or star it. |
plan_delete | W1 changes | Archive a business plan (restorable with plan_restore). |
plan_restore | W1 changes | Restore an archived business plan. |
plan_section_suggest | R0 reads | Ask the AI to rewrite one section from an instruction. Returns a suggestion only; nothing changes until plan_update. (runs an AI generation; needs a plan with the AI features.) |
plan_section_regenerate | W1 changes | Rewrite one section from scratch with the plan's writer (replaces that section). (runs an AI generation; needs a plan with the AI features.) |
plan_fix_markdown | W1 changes | Fix the Markdown of every section (diagrams to tables, no code blocks or HTML) without changing the content. Runs as a job; follow it with plan_status. (runs an AI generation; needs a plan with the AI features.) |
plan_revise_analyze | R0 reads | Work out what a change (a figure, milestone, KPI or the team) means for the whole plan: old -> new facts, derived figures and the impact on each section. Changes nothing and costs no credits; follow the job with plan_status, then show the result to the user. (runs an AI generation; needs a plan with the AI features.) |
plan_revise_apply | W1 changes | Write a change into a NEW version of the plan, updating the affected sections in order with a final consistency check (the source plan is kept, no credits). Needs a finished plan_revise_analyze. (runs an AI generation; needs a plan with the AI features.) |
plan_export | R0 reads | A business plan as Markdown, with the dashboard link for Word and PDF. |
plan_seis_assurance | R0 reads | Draft the answers for a UK SEIS Advance Assurance application from a finished plan. (runs an AI generation; needs a plan with the AI features.) |
plan_defaults_set | W1 changes | Set the project's default template, purpose, audience and style for new plans. |
templates_list | R0 reads | The official business plan templates and the user's own templates for a project. |
template_create | W1 changes | Create a custom template: clone an official or custom one, have the AI build one from a requirement (ai_prompt), or from a document's text (upload_file). (runs an AI generation.) |
template_update | W1 changes | Change a custom template: name, description, industry or its structure (template_json). |
template_delete | W1 changes | Archive a custom template (restorable). |
template_restore | W1 changes | Restore an archived custom template. |
template_star | W1 changes | Star or unstar a template (official or custom). |
template_assistant | R0 reads | Ask the AI to change a custom template's structure from an instruction. Returns a suggestion only; keep it with template_update. (runs an AI generation; needs a plan with the AI features.) |
research_sources_list | R0 reads | List the project's records of a research source (market data, article, interview) behind the project's claims. |
research_source_get | R0 reads | One record of a research source (market data, article, interview) behind the project's claims. |
research_source_create | W1 changes | Add a research source (market data, article, interview) behind the project's claims. |
research_source_update | W1 changes | Change a research source (market data, article, interview) behind the project's claims. |
research_source_delete | W4 deletes for good | Delete a research source (market data, article, interview) behind the project's claims permanently. |
decisions_list | R0 reads | List the project's records of a decision the founder made, with its context and reasoning. |
decision_get | R0 reads | One record of a decision the founder made, with its context and reasoning. |
decision_create | W1 changes | Add a decision the founder made, with its context and reasoning. |
decision_update | W1 changes | Change a decision the founder made, with its context and reasoning. |
decision_delete | W4 deletes for good | Delete a decision the founder made, with its context and reasoning permanently. |
journal_entries_list | R0 reads | List the project's records of a founder journal entry. |
journal_entry_get | R0 reads | One record of a founder journal entry. |
journal_entry_create | W1 changes | Add a founder journal entry. |
journal_entry_update | W1 changes | Change a founder journal entry. |
journal_entry_delete | W4 deletes for good | Delete a founder journal entry permanently. |
gtm_plans_list | R0 reads | List the project's records of a go-to-market plan. |
gtm_plan_get | R0 reads | One record of a go-to-market plan. |
gtm_plan_create | W1 changes | Add a go-to-market plan. |
gtm_plan_update | W1 changes | Change a go-to-market plan. |
gtm_plan_delete | W4 deletes for good | Delete a go-to-market plan permanently. |
memories_list | R0 reads | List the project's records of a fact or preference to remember about the project. |
memory_get | R0 reads | One record of a fact or preference to remember about the project. |
memory_create | W1 changes | Add a fact or preference to remember about the project. |
memory_update | W1 changes | Change a fact or preference to remember about the project. |
memory_delete | W4 deletes for good | Delete a fact or preference to remember about the project permanently. |
risks_list | R0 reads | List the project's records of a risk with its likelihood, impact and mitigation. |
risk_get | R0 reads | One record of a risk with its likelihood, impact and mitigation. |
risk_create | W1 changes | Add a risk with its likelihood, impact and mitigation. |
risk_update | W1 changes | Change a risk with its likelihood, impact and mitigation. |
risk_delete | W4 deletes for good | Delete a risk with its likelihood, impact and mitigation permanently. |
investor_contacts_list | R0 reads | List the project's records of an investor contact in the fundraising pipeline. |
investor_contact_get | R0 reads | One record of an investor contact in the fundraising pipeline. |
investor_contact_create | W1 changes | Add an investor contact in the fundraising pipeline. |
investor_contact_update | W1 changes | Change an investor contact in the fundraising pipeline. |
investor_contact_delete | W4 deletes for good | Delete an investor contact in the fundraising pipeline permanently. |
investor_updates_list | R0 reads | List the project's records of an investor update (a periodic letter to investors). |
investor_update_get | R0 reads | One record of an investor update (a periodic letter to investors). |
investor_update_create | W1 changes | Add an investor update (a periodic letter to investors). |
investor_update_update | W1 changes | Change an investor update (a periodic letter to investors). |
investor_update_delete | W4 deletes for good | Delete an investor update (a periodic letter to investors) permanently. |
growth_experiments_list | R0 reads | List the project's records of a growth experiment with its hypothesis, metric and result. |
growth_experiment_get | R0 reads | One record of a growth experiment with its hypothesis, metric and result. |
growth_experiment_create | W1 changes | Add a growth experiment with its hypothesis, metric and result. |
growth_experiment_update | W1 changes | Change a growth experiment with its hypothesis, metric and result. |
growth_experiment_delete | W4 deletes for good | Delete a growth experiment with its hypothesis, metric and result permanently. |
media_list | R0 reads | The user's media library: images uploaded to TOPY or registered by URL (newest first, up to 200). |
media_add_url | W1 changes | Add an image to the media library by its URL (stored as a link; nothing is downloaded). |
media_delete | W4 deletes for good | Delete an item from the media library permanently. |
API
Everything the tools do is also plain HTTP under https://topy.ai/api/v1, with a bearer token: an API key from Dashboard → API keys (read-only or read-write) or an OAuth access token. Responses are { code, message, data }.
curl -H "Authorization: Bearer $TOPY_API_KEY" https://topy.ai/api/v1/projects/my