Storskarvia
Writing studio for novels and screenplays: read your projects and run cited fact-checks.
Should I use this
Quality & Safety
Findings (1)
- LOWin list_features
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"writing-studio": {
"url": "https://storskarvia.com/mcp/"
}
}
}Remote endpoints
https://storskarvia.com/mcp/streamable-httpWhat it can do
Tool inventory
Tools (10)
🟢get_skarvia_info
What Storskarvia is and how it's positioned. A professional writing studio for novelists, screenwriters, and video scriptwriters, staffed by an AI team that fact-checks, researches, and tracks continuity -- but never writes the user's prose for them.
Input Schema
{
"type": "object",
"properties": {},
"title": "get_skarvia_infoArguments"
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "get_skarvia_infoDictOutput"
}🟢list_features
The AI staff on Storskarvia and what each member actually does. Source: the "On staff" section of the current landing page.
Input Schema
{
"type": "object",
"properties": {},
"title": "list_featuresArguments"
}Output Schema
{
"type": "object",
"properties": {
"result": {
"items": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"title": "Result",
"type": "array"
}
},
"required": [
"result"
],
"title": "list_featuresOutput"
}🟢get_pricing
Current Storskarvia pricing tiers, features, and monthly fact-check quotas. Built from config.PLANS, the same list /pricing renders from, so this can no longer drift from the page the way it did while it was kept by hand. The founder block is read live rather than described in prose. The note here used to say payments "aren't enabled yet" unconditionally, which went on being served after they were switched on, and the tiers listed full price while every human-facing surface offered a founding seat at half of it. An agent asked what Storskarvia costs answered with a price nobody was being charged and omitted the one on offer.
Input Schema
{
"type": "object",
"properties": {},
"title": "get_pricingArguments"
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "get_pricingDictOutput"
}🟢list_guides
Titles, slugs, and URLs of Storskarvia's evergreen craft/how-to guides. Reads the live GUIDES list straight from app.main (imported lazily -- see the comment on the import below) so this can never drift out of sync with what's actually published at /guides.
Input Schema
{
"type": "object",
"properties": {},
"title": "list_guidesArguments"
}Output Schema
{
"type": "object",
"properties": {
"result": {
"items": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"title": "Result",
"type": "array"
}
},
"required": [
"result"
],
"title": "list_guidesOutput"
}🟢get_guide(slug)
Summary and URL for one guide, looked up by slug. Call list_guides first to get valid slugs.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"title": "Slug",
"type": "string"
}
},
"required": [
"slug"
],
"title": "get_guideArguments"
}Output Schema
{
"type": "object",
"additionalProperties": {
"type": "string"
},
"title": "get_guideDictOutput"
}🟢list_my_projects
The authenticated user's Storskarvia projects (novels, screenplays, video scripts). Requires a personal Storskarvia API key as a Bearer token.
Input Schema
{
"type": "object",
"properties": {},
"title": "list_my_projectsArguments"
}Output Schema
{
"type": "object",
"properties": {
"result": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Result",
"type": "array"
}
},
"required": [
"result"
],
"title": "list_my_projectsOutput"
}🟢get_findings(check_id)
Findings for one of the authenticated user's fact-check or continuity runs. Ownership is enforced -- a check_id belonging to another user raises an error rather than leaking their data.
Input Schema
{
"type": "object",
"properties": {
"check_id": {
"title": "Check Id",
"type": "integer"
}
},
"required": [
"check_id"
],
"title": "get_findingsArguments"
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "get_findingsDictOutput"
}🟢prepare_factcheck(document_id)
Step 1 of a bring-your-own-agent fact-check. Fetches one of the authenticated user's documents (ownership enforced) plus the exact disclosure and method your agent MUST follow. Requires a personal Storskarvia API key as a Bearer token. After this, call ground_claim(claim) once per checkable claim you extract from `text`, then submit_findings(...) to store results.
Input Schema
{
"type": "object",
"properties": {
"document_id": {
"title": "Document Id",
"type": "integer"
}
},
"required": [
"document_id"
],
"title": "prepare_factcheckArguments"
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "prepare_factcheckDictOutput"
}🟢ground_claim(claim)
Step 2 of a bring-your-own-agent fact-check. Runs Storskarvia's own server-side retrieval (Wikipedia + searxng) for one claim and returns the sources -- no verdict, no judgment. Your agent should judge the claim ONLY against these returned sources, never outside knowledge. Requires a personal Storskarvia API key as a Bearer token (this is not an open retrieval API).
Input Schema
{
"type": "object",
"properties": {
"claim": {
"title": "Claim",
"type": "string"
}
},
"required": [
"claim"
],
"title": "ground_claimArguments"
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "ground_claimDictOutput"
}🟡submit_findings(document_id, disclosure, findings)
Step 3 of a bring-your-own-agent fact-check. Stores your agent's findings as a real Storskarvia Check, visible on the same findings punch list as a staff-run check. Requires a personal Storskarvia API key as a Bearer token, and ownership of `document_id` is enforced. `disclosure` must be REQUIRED_DISCLOSURE copied verbatim -- proof the user was shown it before findings were presented -- or this raises a ToolError instead of storing anything. Each item in `findings` must have a non-empty quote/explanation, problem in {"contradicted","misleading"}, and a non-empty sources list; findings missing any of those are rejected wholesale (nothing partial is stored).
Input Schema
{
"type": "object",
"properties": {
"document_id": {
"title": "Document Id",
"type": "integer"
},
"disclosure": {
"title": "Disclosure",
"type": "string"
},
"findings": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Findings",
"type": "array"
}
},
"required": [
"document_id",
"disclosure",
"findings"
],
"title": "submit_findingsArguments"
}Output Schema
{
"type": "object",
"additionalProperties": true,
"title": "submit_findingsDictOutput"
}Community
Evidence