mcp-registry/ai.dotsy/mcp · v0.3.0
As of 2026-10-26 20:36 UTC, the Dotsy MCP server is up with a Glimind reliability score of 100/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.
Build and publish static sites on Dotsy with draft-first MCP tools, OAuth Connect, and API keys.
Point your MCP client at this streamable-http endpoint: https://mcp.dotsy.ai/mcp
4 tool definition(s) exceed ~1,200 tokens each (largest: apply_changeset, ~1,989).
Move long reference material out of descriptions (link a doc or expose a resource), drop repeated examples, and collapse large enums. Trimming these to ~600 tokens saves ~3,786 tokens every session. How to fix →
101 tools on one server. Tool-selection accuracy drops as the menu grows, and some clients (e.g. Cursor) cap the number of active tools.
Group tools by task into smaller servers or toolsets, and merge near-duplicates behind one tool with a mode parameter. How to fix →
112 parameter(s) across 43 tool(s) have no description.
Add a "description" to each parameter with its format and an example ("ISO 8601 date, e.g. 2026-10-17"). This is the commonest cause of wrong arguments on the first call. How to fix →
1 tool(s) have parameters with no type (no type/enum/anyOf/$ref).
Give every parameter a "type" (or "enum"/"anyOf"). Untyped parameters make models guess — strings for numbers, objects for arrays. How to fix →
Loading this server's tool list costs an agent ~40,726 tokens before any work — more than 99% of MCP servers.
Split rarely-used tools into a separate server or a toolset the client can enable, or expose one "search tools" entry point. Many agents load every connected server's tools into every request. How to fix →
No tool declares an outputSchema.
Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →
In the last 30 days: 0 tool(s) removed and 19 schema change(s).
Add new tools or optional parameters instead of renaming or removing; deprecate first (say so in the description) and remove later. Agents cache tool contracts. How to fix →
Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. 43 tool(s) still need parameter descriptions written by someone who knows the API. All of them as JSON: /v1/readiness/mcp-registry%2Fai.dotsy%2Fmcp/fixes
{
"name": "update_brief",
"description": "Update `_intent/site.md` (site brief) or a page brief when `page` is set. See field descriptions for rules, notes, and head enums.",
"inputSchema": {
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"site",
"context"
],
"properties": {
"body": {
"type": "string",
"maxLength": 50000,
"description": "Replace narrative body (site ≤50k chars; page ≤10k)."
},
"goal": {
"type": "string",
"maxLength": 4000,
"description": "Current goal (site ≤4k chars; page ≤2k)."
},
"head": {
"description": "Head fields to merge. Site: purpose, audience, kind (exploration|production), priorities ({seo,analytics,design,mobile}: must|nice|skip), editingModel (ai|simple-editor|creator), sections, design (strict): palette string[] max 8, type string[] max 6, layout string max 80 chars — no other keys. Page: purpose, design.{direction,hero}.",
"type": "string"
},
"page": {
"type": "string",
"description": "Content key — targets that page's brief (`_intent/pages/<key>.md`). Omit for the site brief."
},
"site": {
"type": "string",
"description": "Site slug, e.g. acme-studio"
},
"notes": {
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "object",
"properties": {
"seo": {
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "null"
}
]
},
"design": {
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "null"
}
]
},
"content": {
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}
],
"description": "Site: free-form ## Notes string (≤4k) OR per-section notes object for Design system / Content & CMS / SEO (null clears one). Page brief: string only (≤2k)."
},
"rules": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"card",
"text"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z0-9-]{2,40}$"
},
"card": {
"enum": [
"intent",
"design",
"content",
"seo"
],
"type": "string"
},
"text": {
"type": "string",
"maxLength": 160,
"minLength": 1
},
"check": {
"anyOf": [
{
"anyOf": [
{
"type": "object",
"required": [
"type",
"max"
],
"properties": {
"max": {
"type": "integer",
"maximum": 300,
"minimum": 10
},
"type": {
"type": "string",
"const": "title-max"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"suffix"
],
"properties": {
"type": {
"type": "string",
"const": "title-suffix"
},
"suffix": {
"type": "string",
"maxLength": 60,
"minLength": 1
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"min",
"max"
],
"properties": {
"max": {
"type": "integer",
"maximum": 1000,
"minimum": 1
},
"min": {
"type": "integer",
"maximum": 1000,
"minimum": 0
},
"type": {
"type": "string",
"const": "description-length"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"const": "one-h1"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"words"
],
"properties": {
"type": {
"type": "string",
"const": "banned-words"
},
"words": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40,
"minLength": 1
},
"maxItems": 50,
"minItems": 1
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"const": "image-alt"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"colors"
],
"properties": {
"type": {
"type": "string",
"const": "allowed-colors"
},
"colors": {
"type": "array",
"items": {
"type": "string",
"pattern": "^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$"
},
"maxItems": 24,
"minItems": 1
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"fonts"
],
"properties": {
"type": {
"type": "string",
"const": "allowed-fonts"
},
"fonts": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 12,
"minItems": 1
}
},
"additionalProperties": false
}
]
},
{
"type": "null"
}
]
},
"level": {
"enum": [
"block",
"warn"
],
"type": "string"
},
"locked": {
"type": "boolean"
}
},
"additionalProperties": false
},
"maxItems": 30,
"description": "Rules & guidelines lines to add or change (upsert by id — send only fields you change; omitted fields keep their stored value; check: null turns a Rule into a Guideline). A supported check (title-max, title-suffix, description-length, one-h1, banned-words, image-alt, allowed-colors, allowed-fonts) makes a Rule — use level block for hard musts (banned words, title suffix), warn for softer checks. locked can only be set by a person; locked: false unlocks."
},
"context": {
"type": "string",
"minLength": 1,
"description": "One sentence: why you are calling this tool and what you are trying to accomplish. Stored on the site's activity log and visible to everyone on the site — never put secrets or personal data here."
},
"guestToken": {
"type": "string",
"minLength": 20,
"description": "Guest token from start_site. Send it on every call until claim_site. Omit when this chat is already signed in to Dotsy."
},
"removeRules": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 30,
"description": "Ids of rules or guidelines to remove (site brief only)."
},
"appendHandoff": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Append a hand-off log line — site brief only; ignored when page is set."
}
},
"additionalProperties": false
},
"annotations": {
"title": "Update site brief",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": true
}
}Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:
curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/ai.dotsy/mcp"],"email":"[email protected]"}'Agents: watch_tool({"toolId": "mcp-registry/ai.dotsy/mcp"}) over MCP.
apply_changeset ~1,989 tokenspatch_route ~1,461 tokensput_route ~1,374 tokensupdate_brief ~1,362 tokensshare_section ~1,061 tokensStatic checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).
Operator? Fix these, then re-check live. Embed the readiness badge:
[](https://glimind.com/server/mcp-registry%2Fai.dotsy%2Fmcp?ref=badge)
<a href="https://glimind.com/server/mcp-registry%2Fai.dotsy%2Fmcp?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fai.dotsy%2Fmcp.svg" alt="MCP agent-readiness"></a>
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fai.dotsy%2Fmcp.svg :target: https://glimind.com/server/mcp-registry%2Fai.dotsy%2Fmcp?ref=badge :alt: MCP agent-readiness
Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:52731e72754114ba…, first seen 2026-10-25, included at leaf 67203 of 75,338. Version history · verify what your client received.
Compare: most reliable knowledge servers · most reliable files servers · most reliable web servers · most reliable content servers · most reliable security servers
Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.
Claude Code
claude mcp add --transport http glimind https://glimind.com/mcp
Claude Desktop · Windsurf · Cline (mcpServers JSON)
{
"mcpServers": {
"glimind": {
"type": "http",
"url": "https://glimind.com/mcp"
}
}
}
As of 2026-10-26 20:36 UTC, the Dotsy MCP server is up with a Glimind reliability score of 100/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks.
Dotsy MCP server advertises 101 tools, including adapt_site_analyze, adapt_site_apply, adapt_site_revert, add_custom_domain, apply_changeset.
Point your MCP client at this streamable-http endpoint: https://mcp.dotsy.ai/mcp
Glimind scanned all 101 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.
Status page: 90-day uptime, every outage and how long it lasted.
Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.
Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.