Map your company with your agent
From an empty workspace to a mapped company, step by step.
Your coding agent already sits where the company is described: repos, docs, tool configs, SOPs. This guide is what the mapping prompt asks it to do, so you know what to expect and can steer it.
Connect the agent
Add the MCP server with an owner or member key: Setup per agent.
Create or find your workspace
create_my_workspace with your company name, website, a short description and your best guess at industry and business model. It returns your existing private workspace if you have one. Keep the slug.
{ "name": "Acme Builders", "website": "acmebuilders.example", "description": "A general contractor building mid-size commercial projects.", "industry": "construction", "businessModel": "project" }Read the mapping guide
get_mapping_guide returns the parts of the business, the primitives in each with their keys and parameters, the flow types, the limits and the rules for describing what the agent finds. The agent uses those keys and words.
Inventory the company
One component per real thing. For each, the agent notes:
- a
labelin your own words and a one or two sentencedescription; - the
layer(people, process, software, data, decisions) and theprimitivekey when it is sure; - a
parentwhen it sits inside something else, and a stableclientIdsuch as a repo path or tool slug; valuesfor parameters the guide lists, and asourcenaming the doc it read.
- a
Upload in batches
upload_components takes up to 200 items per call, parents before children. Leave
primitiveout when unsure: each result says where the item went (placedBy: given, existing, matched, model, parent or custom).{ "workspace": "acme-builders", "items": [ { "clientId": "tool/gusto", "label": "Payroll in Gusto", "description": "Runs payroll twice a month for 42 people.", "layer": "software", "values": [ { "parameter": "frequency", "value": "Monthly" } ], "source": { "kind": "client_document", "title": "finance/README.md" } } ] }Response{ "company": { "slug": "client", "name": "Acme Builders" }, "placed": { "given": 0, "existing": 0, "matched": 1, "model": 0, "parent": 0, "custom": 0, "failed": 0 }, "results": [ { "clientId": "tool/gusto", "label": "Payroll in Gusto", "primitive": "payroll", "placedBy": "matched", "confidence": 0.92, "created": true, "values": 1 } ], "summary": { "components": 85, "custom": 6, "coverage": { "covered": 31, "baseline": 50, "percent": 62 }, "topGaps": [ { "primitive": "job_costing", "label": "Job costing" } ] } }Then upload_flows for hand-offs between components and upload_notes for how work really happens: workarounds, bottlenecks, manual hand-offs.
Read the report
The last upload's
summarygives components per layer and part, coverage of the baseline and the top gaps. Ask the agent to report those, what it could not map, and what it left out for privacy.Review and publish
Open the workspace. Everything is private, self-reported and draft: fix what is wrong, then choose per value what to publish. See Tiers and privacy.
clientId updates instead of duplicating, so run the agent again whenever the company changes.