Skip to main content

ScriptGrain

com.scriptgrain/scriptgrainVersion 1.23.1

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

Status

Responds130 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:15 UTC
Latency
130 ms
Remotes responding
2 of 3
Sign-in
OAuth sign-in, No sign-in, Sign-in unknown
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 21:12 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://mcp.scriptgrain.com/mcpSign-in required130 ms
OAuth sign-in

Claude Code

This server asks for sign-in. Your client opens the sign-in when it connects.

claude mcp add --transport http scriptgrain https://mcp.scriptgrain.com/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: scriptgrain
Remote MCP server URL: https://mcp.scriptgrain.com/mcp

Cursor

{
  "mcpServers": {
    "scriptgrain": {
      "url": "https://mcp.scriptgrain.com/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"scriptgrain","type":"http","url":"https://mcp.scriptgrain.com/mcp"}'
Streamable HTTP
https://mcp.scriptgrain.com/tryResponds790 ms
No sign-in

Claude Code

claude mcp add --transport http scriptgrain https://mcp.scriptgrain.com/try

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: scriptgrain
Remote MCP server URL: https://mcp.scriptgrain.com/try

Cursor

{
  "mcpServers": {
    "scriptgrain": {
      "url": "https://mcp.scriptgrain.com/try"
    }
  }
}

VS Code

code --add-mcp '{"name":"scriptgrain","type":"http","url":"https://mcp.scriptgrain.com/try"}'
SSE
https://mcp.scriptgrain.com/sseNot checkedUses SSE
Uses SSE (legacy), not checked

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

6 tools

Tools of ScriptGrain
Read-only
Idempotent
Open world
check_voice_matchScore 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).NoYesYesNo
claim_statusWhether 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.NoYesYesNo
compare_voiceOff-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).NoYesYesYes
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.NoNoNoNo
get_profileThe 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.NoYesYesNo
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.NoNoNoNo

Details

Registry status
Active
Published
Oct 15, 2026
Updated
Oct 15, 2026
Categories
Uncategorized
GDPR
Not declared

Are you the operator? Claim this listing