MCP tools — the full server surface
The MCP setup guide gets you connected. This
page is the full map: one connection to
https://api.linkworld.ai/api/mcp/sse exposes three layers of capability,
all scoped to the token’s tenant + user — you only ever see what you have
access to.
The three layers
Section titled “The three layers”- Developer tools — discover, validate, scaffold (the setup guide’s six).
- Your company and its departments — the grow domain: snapshot, marketing, sales, website, plus every integration your tenant has connected.
- Goal / session / app tools — the platform-native tools a coding session uses to read its goal, commit code, and read/write app data.
The catalog is dynamic: a tool appears only when its integration is
connected for your tenant. Connect Odoo and the odoo_* tools appear; connect
LinkedIn Ads and the linkedin_ads_* tools appear. list_skills always
reflects the live set.
0. Company context — do this first
Section titled “0. Company context — do this first”Every company-scoped tool operates on one company. In the app that’s the cockpit you’re standing in; over MCP you name it once:
| Tool | Purpose |
|---|---|
company_list | Your companies with id, status and website |
company_use | Point this session at one — by id, slug or name |
company_current | Which company the session is on |
The selection persists 12h and survives reconnects. A session that already runs on a company (a coding session bound to a goal) inherits it instead and does not expose these tools — its anchor cannot be overridden from the client.
Without a selection, company-scoped tools answer “No company context” plus a hint pointing here.
1. Developer tools
Section titled “1. Developer tools”Full detail in the MCP setup guide. In short:
| Tool | Purpose |
|---|---|
list_skills | Every skill the platform knows, filterable by category |
get_skill_docs | Full reference for one skill — input + output schemas, scopes, risk level |
validate_manifest | The same validator linkworld deploy runs |
search_examples | Grep examples/ for patterns |
lint_app | Static checks across manifest + code |
scaffold_app | Generate a new app from a template |
Inside the Linkworld /chat assistant these carry a dx_ prefix
(dx_list_skills, …); over MCP they’re unprefixed.
2. Your company and its departments
Section titled “2. Your company and its departments”The same server exposes your company’s operating surface — the departments the
AI operator itself works through — plus every business skill your tenant has
configured. A fully-connected tenant sees 150–300 tools; call list_skills for
the live set and get_skill_docs for one skill’s exact input/output schema.
All of these need a company selected (section 0).
The company
Section titled “The company”| Tool | Purpose |
|---|---|
company_snapshot | The complete live picture the cockpit shows: status, growth stage, KPIs (revenue, orders, visitors, ad spend), funnel + drop-off, traffic quality, recent posts, GEO score, connected channels, budgets, task rollup, what needs your attention |
company_briefing | The narrative brief — who this company is, what it sells, where it stands |
company_update_facts / company_update_revenue_stream / company_set_products | Correct the facts, streams and sellable catalog the operator works from |
company_code_search | Read the company’s own site/app repo without opening a coding session |
Start with company_snapshot for anything shaped like “how are we doing” — it
is the same data the owner sees, so your answer cannot drift from the cockpit.
Marketing / CMO
Section titled “Marketing / CMO”Read the market position, then produce and test against it.
| Group | Tools |
|---|---|
| Funnel & analytics | marketing_funnel, marketing_funnel_health, marketing_website_analytics, marketing_refresh_metrics, marketing_update_funnel |
| Diagnosis | marketing_analysis — what to do next about acquisition vs conversion |
| Creatives | marketing_produce_creative, marketing_produce_creative_set, marketing_creative_status, marketing_list_creatives, marketing_compose_ad, marketing_list_ad_drafts, marketing_update_ad_draft |
| Organic content | marketing_post, marketing_schedule_post, marketing_list_posts, marketing_record_blog |
| Message testing | marketing_plan_ads_test, marketing_build_ads_test, marketing_cancel_ads_test, marketing_experiment_status, marketing_test_program, marketing_add_test_message, marketing_render_test_message |
| Claims & style | marketing_propose_claims, marketing_list_claims, marketing_style_probe, marketing_style_synthesize |
| Visibility | seo_audit_site, geo_audit_run, geo_visibility_check, presence_audit |
| Paid channels | meta_ads_*, google_ads_*, linkedin_ads_* — campaigns, ad sets, creatives, budgets, launch/pause, insights |
Typical use: “read the funnel, tell me which stage leaks, then draft three ad
variants for the leaking stage.” marketing_funnel_health first — it separates
broken tracking from real drop-off, and a silent stage means unproven, not
zero.
Boundary: publishing, sending and budget changes are owner-approved; the tool
returns blocked with an approval id and the item appears in the app.
| Group | Tools |
|---|---|
| Pipeline | sales_pipeline, sales_list_leads, sales_add_lead, sales_update_lead, sales_list_deals, sales_add_deal, sales_update_deal |
| Prospecting | sales_add_prospects, sales_list_prospects |
| Outreach | sales_create_campaign, sales_list_campaigns, sales_update_campaign, sales_log_outreach |
Typical use: “which deals are stalling and what should I send them?” — pull the pipeline, then draft per-lead outreach as a campaign.
Boundary: multi-recipient outreach runs as one founder-approved campaign; individual autonomous email drafts are deliberately not possible.
Finance
Section titled “Finance”Finance reads your real books through the connected accounting system —
there is no separate finance_* tool family:
| Source | Tools |
|---|---|
| Odoo | odoo_search_read, odoo_get_record, odoo_get_report, odoo_list_models, … |
| lexoffice | lexoffice_list_invoices, lexoffice_get_invoice, lexoffice_get_payments, lexoffice_create_invoice, lexoffice_create_quotation, … |
| Business Central | bc_query, bc_get_record, bc_search_customers, bc_search_items, … |
| Documents | business_create_document, business_transition_document, business_render_pdf, business_lookup_price |
Revenue, orders and AOV also come back in company_snapshot, so a quick
“how’s revenue” needs no ERP call.
Boundary: the finance department is read-only observability plus fundraising prep (P&L verdict, burn, runway, pitch deck) — those analyses live in the app, not as MCP tools. There is no automated invoicing, dunning or per-invoice collection.
Design Studio (creative production)
Section titled “Design Studio (creative production)”Company visuals are produced through the Design Studio pipeline, reached via
the marketing creative tools — marketing_produce_creative and
marketing_produce_creative_set. They carry the company’s brand, design
system, product assets and archetype, and land the result in the owner’s review
queue.
The raw media tools (image_generate, image_edit, image_restage,
video_generate, kling_*, ai_avatar_*, voiceover_generate,
remotion_render, html_to_image_render, diagram_*) exist for generic work —
slides, diagrams, prototypes. For anything that represents a company, go through
marketing_produce_creative: raw generation skips brand, product truth and the
review queue.
Renders are metered (they cost credits) and asynchronous — poll
marketing_creative_status.
Website & e-commerce
Section titled “Website & e-commerce”| Tool | Purpose |
|---|---|
website_list_anchors, website_list_snippets, website_design_tokens | See what the live site is made of |
website_update_product_copy, website_set_custom_code, website_set_view_override | Guarded, revertible edits |
website_list_edits, website_revert | Edit history and one-call rollback |
mcp_verify_conversion_path | Confirm a visitor can actually convert |
Edits are preview-by-default with owner sign-off. Full editing covers LinkWorld-generated sites and connected repos; on external CMSs most changes hand off to the owner.
Everything else you’ve connected
Section titled “Everything else you’ve connected”Grouped by domain (each is a family of tools — connect the integration to make them appear):
- ERP & business documents — Odoo, Business Central, lexoffice; create invoices / quotes / delivery notes, render PDFs, look up prices, manage customers & items
- Microsoft 365 & Google — email (read / search / reply / drafts / triage), calendar, Drive & OneDrive, Teams
- Messaging & voice — WhatsApp (Business + personal), phone calls (Twilio / ElevenLabs), transcription
- Social — X, LinkedIn, Facebook & Instagram, Reddit — post, read comments, analytics
- Ads — Meta, Google, and LinkedIn Ads — campaigns, ad sets, creatives, budget, launch / pause, insights
- Marketing & media — produce campaign creatives, schedule posts, refresh metrics; generate images and video (Kling, HeyGen avatars, Remotion), stock imagery, diagrams
- Web & site — a headless browser (navigate, click, fill, screenshot, read console errors), web search, Vercel deploys, native website edits, SEO & GEO audits
- Dev & repos — GitHub, ClickUp, Figma, code & symbol search
- Knowledge & data — RAG collections (query / upsert / list), booking & appointments, CAD/DXF analysis, Excel / PDF / document generation, the per-app key-value store
Only the tools your tenant has connected are live; the rest simply aren’t in
your list_skills result.
3. Goal, session & app tools
Section titled “3. Goal, session & app tools”These are the platform-native tools — always available over the same connection, no integration required. A coding session running inside the Linkworld compute VM connects through this exact MCP path, which is how it reads its goal, commits, and opens a PR.
Goals & projects
| Tool | Purpose |
|---|---|
mcp_goal_status | A goal’s status, blockers, and dependencies |
mcp_goal_plan | The implementation plan + child phases |
mcp_goal_reviews | AI review findings for a goal |
mcp_execution_plan | The project’s dependency DAG with ready markers |
Coding sessions
| Tool | Purpose |
|---|---|
mcp_session_status | State of the current coding session |
mcp_session_commit | Commit the session’s work |
mcp_session_create_pr | Open a pull request |
mcp_register_runner / mcp_list_runners | Register / list the app’s live runners |
App data & artifacts
| Tool | Purpose |
|---|---|
read_app_records / write_app_records / delete_app_records | The app’s structured record store (supports paging + field/data filters) |
mcp_manage_data_feeds | The app’s data feeds |
mcp_set_company_products | Set a company’s product catalog |
mcp_verify_conversion_path | Confirm a built site’s funnel events fired |
Always on — even in a lean coding session
| Tool | Purpose |
|---|---|
request_human_action | Hand a step only a person can do to the owner, with the content to review attached |
request_capability | Ask the owner to connect a channel the app needs |
web_browser_* | Drive a real browser to test the thing you just built |
report_bug | File a bug from your session, same as the in-app report |
Two audiences, one connection
Section titled “Two audiences, one connection”The server tailors what it registers to the session:
- Chat & action sessions get the full business-skill catalog above — they run real work (send the email, launch the ad, post to LinkedIn).
- Code / build sessions get the lean platform layer (goals, session, app
records, dev tools) plus
request_human_actionand the browser — the 150+ business tools would only bloat every file-editing turn, so they’re left out.
Both connect to the same /api/mcp/sse endpoint; the token’s context decides
which layer you get.
Scoping & safety
Section titled “Scoping & safety”- Tenant + user scoped. The token binds to your account; every tool reads and writes only what you can. A partner app’s token is scoped to the capabilities its manifest declares.
- Credentials stay server-side. When a tool calls an external API (LinkedIn, Odoo, Meta), the platform resolves your stored OAuth credential and makes the call for you — the tool caller never sees the token.
- Approvals: outward-facing actions (post, send, budget change, live-site
edit) return
blockedwith an approval id and wait for the owner in the app. - Token lifecycle: browser login refreshes itself; dev tokens run 24h. See the setup guide.