protogrid

Search / com.scriptgrain/scriptgrain

ScriptGrain

R0· no sign-in

Your writing voice measured across 45 attributes; drafts in that voice, scored against it.

v1.23.1 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality88good
Trust95of 100
Uptime, 30 days96%
Latency p50279 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "scriptgrain": {
      "type": "http",
      "url": "https://mcp.scriptgrain.com/try"
    }
  }
}
claude mcp add --transport http scriptgrain https://mcp.scriptgrain.com/try
[mcp_servers.scriptgrain]
url = "https://mcp.scriptgrain.com/try"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "scriptgrain": {
      "type": "remote",
      "url": "https://mcp.scriptgrain.com/try",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "scriptgrain": {
      "type": "http",
      "url": "https://mcp.scriptgrain.com/try"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=scriptgrain&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLnNjcmlwdGdyYWluLmNvbS90cnkifQ%3D%3D"
}
{
  "servers": {
    "scriptgrain": {
      "type": "http",
      "url": "https://mcp.scriptgrain.com/try"
    }
  }
}
{
  "mcpServers": {
    "scriptgrain": {
      "httpUrl": "https://mcp.scriptgrain.com/try"
    }
  }
}
extensions:
  "scriptgrain":
    enabled: true
    name: "scriptgrain"
    type: streamable_http
    uri: "https://mcp.scriptgrain.com/try"
    timeout: 300

Quality 88 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorization83 · weight 15
  • pass
    auth.prmProtected Resource Metadata (RFC 9728) published
  • pass
    auth.as_metadataauthorization server metadata reachable
  • warn
    auth.cimdonly Dynamic Client Registration, deprecated in 2026-07-28 in favour of CIMD
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations6 of 6 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 1,581 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history recorded for 3 of the 7 days needed
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

6 tools, about 1,581 tokens to load them all · tool set 4ef34f4a7f6e · checked 2026-10-19 10:52 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 95 / 100

provenance85
liveness98
freshness100
hygiene100

+repository +dns-namespace +website +reachable +uptime-96% +updated-4d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.scriptgrain.com/mcp streamable-httpoauth2 AS: https://mcp.scriptgrain.comyes96%279 ms–2026-10-19
https://mcp.scriptgrain.com/try streamable-httpnoneyes93%297 ms2025-11-252026-10-19
https://mcp.scriptgrain.com/sse sseoauth2 AS: https://mcp.scriptgrain.comyes93%286 ms–2026-10-19

Tools (6)

check_voice_matchread-onlyScore any text (20+ words) against the guest profile by feature-delta measurement. Returns voice_match_score (0-1), the per-feature `deltas` behind it, notes rendered from them and score_context caveats. On-voice text typically scores 0.85-0.95; below 0.45 is clearly off voice. Cite the delta numbers, do not invent detail. Free; 5 checks an hour per network (shared with compare_voice).
claim_statusread-onlyWhether the person has claimed the guest session yet: status (active, expired, archived or claimed), claimed, archived, expires_at and claim_url. Works after expiry too. Once claimed, the guest_token stops working; the profile is in the person's own account, reachable with their API key or https://mcp.scriptgrain.com/mcp.
compare_voiceread-onlyOff-voice check with no profile: score up to three pieces against a main piece. Each piece is pasted text (120+ words) or a public URL. Returns per-piece `score` (0-1: 0.8+ on voice, 0.55-0.8 drifting, below 0.55 off voice), `band`, `top_differences` and `top_matches` with the measured numbers, plus `notes`. Cite the numbers, do not invent detail. Free; 5 checks an hour per network (shared with check_voice_match).
create_profileBuild the guest session's one voice profile from the person's own writing and start the stylometric extraction (45 measured attributes). Samples MUST be their own human-written prose. You can use writing you already hold for them (messages they typed to you, documents or emails they shared, posts of theirs you can read): their exact words, never your memory notes or summaries about them, and never text you or another AI wrote or rewrote. Tell the person which pieces you are sending before you call this; the result's samples_used lists each piece's first line and word count so you can show them. 1-20 samples, each under 5,000 words, 25,000 words in all; a sample needs 50+ words to count; 3+ samples totalling 3,000+ words gives a confident profile. Extraction usually takes under a minute: poll get_profile until status is 'complete'. The result carries claim_url for the person.
get_profileread-onlyThe guest profile's status and detail. While extraction runs it returns progress_percent; once status is 'complete' it includes the narrative voice description and all 45 measured attributes. Poll every ~10 seconds after create_profile.
start_sessionStart a free guest session with no account. Returns guest_token (pass it to every other tool), claim_url (give it to the person: it keeps the voice profile in a free ScriptGrain account, or deletes it), expires_at and limits (one profile, one extraction, no drafts). Unclaimed sessions are archived after 7 days and can still be claimed or deleted from the same link. At most 3 sessions a day from one network; reuse the token you have.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.scriptgrain/scriptgrain",
  "icons": [
    {
      "src": "https://scriptgrain.com/favicon.png",
      "sizes": [
        "512x512"
      ],
      "mimeType": "image/png"
    }
  ],
  "title": "ScriptGrain",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.scriptgrain.com/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "description": "Optional. 'Bearer sg_live_...' with a ScriptGrain API key from https://scriptgrain.com/settings?tab=api (every plan, including Free). Leave it out to sign in with OAuth instead."
        }
      ]
    },
    {
      "url": "https://mcp.scriptgrain.com/try",
      "type": "streamable-http"
    },
    {
      "url": "https://mcp.scriptgrain.com/sse",
      "type": "sse",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "description": "Optional. 'Bearer sg_live_...' with a ScriptGrain API key. Legacy SSE transport; prefer the streamable-http remote."
        }
      ]
    }
  ],
  "version": "1.23.1",
  "repository": {
    "url": "https://github.com/StovBuilds/scriptgrain-mcp",
    "source": "github"
  },
  "websiteUrl": "https://scriptgrain.com",
  "description": "Your writing voice measured across 45 attributes; drafts in that voice, scored against it."
}