@setu-dental/mcp
v1.3.0
Published
Setu MCP server — create, review, publish and claim-link practice/dentist profiles from Claude or ChatGPT.
Readme
Setu MCP server (internal)
Exposes the same profile-building tools as the Setu CLI to an AI assistant (Claude Desktop, ChatGPT desktop, Cursor) over MCP stdio.
Install
cd packages/mcp && npm link # gives you the `setu-mcp` commandAuthentication reuses the CLI key: either run setu login once (stored at
~/.config/setu/config.json) or pass SETU_CLI_API_KEY in the MCP env block.
Client config
{
"mcpServers": {
"setu": {
"command": "setu-mcp",
"env": {
"SETU_CLI_API_KEY": "<internal key>",
"SETU_OPERATOR": "[email protected]"
}
}
}
}Tools
| Tool | What it does |
| --- | --- |
| setu_practice_create | Draft a practice from a website URL, or name + town |
| setu_practice_review | Full enriched draft, gaps and readiness score |
| setu_practice_publish | Publish as an unclaimed public listing (+ clinicians) |
| setu_dentist_create | Create a standalone claimable dentist profile |
| setu_claim_link | Mint or rotate an outreach claim link |
| setu_profile_status | Seeded profile totals and claim activity |
Every call is attributed to SETU_OPERATOR. Published profiles are unclaimed:
they show an "Unclaimed" badge in patient search, rank below live subscribed
practices, and capture enquiries instead of bookings until claimed.
Claims land in the admin area under Seeded (/app/admin/seeded), where the
team can approve, decline, or reissue claim links.
setu_profile_update— edit fields on an unclaimed seeded practice or dentist (send an emptysetto list allowed fields).setu_profile_images— add, remove, reorder, replace or clear photos, and set the logo / main photo.setu_profile_pricing— read or edit treatment prices for a practice or dentist.setu_claims_dashboard— pending claims, status counts and unclaimed profiles scored for readiness.setu_claims_list— claims filtered by status and profile type.setu_claim_detail— full detail for one claim and the profile it targets.setu_claim_decide— approve or decline a pending claim.setu_profile_delete— remove or hide an unclaimed seeded profile (claimed profiles are refused).
Completing existing profiles
setu_profile_search, setu_profile_permissions, setu_profile_enhance and
setu_profile_enhance_history work on any practice or clinician when the key has
the admin:profiles scope. Always run setu_profile_enhance with apply: false
first and read the preview: it lists fills, conflicts, media, price conflicts and
clinician matches. Enhancement never deletes, unclaims, transfers or unpublishes
anything, and deletion/ownership remain outside these tools.
