Civnode MCP Server

@civnode/mcp npm v2.4.1

Published by @civnode — no publish provenance, so origin is unverified, but the source is public: the repository link below is self-declared yet readable, so you can inspect the code before adopting it.

MCP server for CivNode — the most advanced AI-powered creative writing platform. 243 tools for writing, world-building (characters, locations, creatures, plots, family trees), books, research, marketplace, forums, competitions, collaboration, passage comm

Trust grade
A
96/100
Last scanned get badge →
Trust
A · 96/100
Adoption risk for you: the threat score, then adjusted down for blast radius, publisher verification and how much the scan could see. Deterministic; every point is auditable.
Capability
Moderate
Blast radius if it went rogue — what the server’s tools could reach. Independent of trust.
Coverage
Source
How much the scan could actually inspect. Shallow coverage is stated, never hidden.
Share this Trust Score
𝕏 Share LinkedIn Reddit
A Why this grade threat 100 − adoption risk = 96/100

The grade answers one question — how safe is this server for you to adopt — so it is computed in two auditable stages. Nothing below is an opinion or an LLM's guess; every line is a real term the deterministic engine applied, and the same input always yields the same number.

1. Threat score — 100 − 0 = 100. What the published surface and source actually contain:

The deterministic scan raised no scored threat in the surface it inspected — the threat score stayed at 100. Capability observations and advisory notes are recorded but never lower it.

2. Client adoption risk — 100 − 4 = 96. Three small, subtract-only factors that reflect your risk in adopting it — a clean scan proves less on a powerful, unverified or barely-inspectable package, so the grade says so plainly:

PointsAdoption-risk factor
−3 capability blast radius (moderate) — client exposure if the model is manipulated
−1 publisher verification (public source) — no provenance, but the source is public and inspectable

Capability observations and info notes are shown under Findings but never scored. Open any row's finding below for the file, line and evidence behind a deduction.

Findings 5

medium Untrusted input can drive an external actionMTC-FLOW-005

Untrusted-input tools ([browse_writing, read_conversation, marketplace_browse]) co-exist with external-action tools ([send_message, create_comment, send_personal_letter]). A prompt injection could cause unwanted external actions, though no direct sensitive-data leak path was found.

Evidence: untrusted [browse_writing, read_conversation, marketplace_browse] → sinks [send_message, create_comment, send_personal_letter]

Fix: Require confirmation for state-changing/egress actions triggered after processing untrusted content.

Location: flow browse_writing → send_message

medium Tool "book_unlink_entity" can modify the filesystemMTC-CAP-002

Tool "book_unlink_entity" can write, overwrite or delete files (keyword "unlink" in tool name). Verify it is scoped to a safe directory.

Fix: Constrain file operations to an explicit, non-sensitive root; reject path traversal.

Location: tool book_unlink_entity

medium Tool "unlink_work_character" can modify the filesystemMTC-CAP-002

Tool "unlink_work_character" can write, overwrite or delete files (keyword "unlink" in tool name). Verify it is scoped to a safe directory.

Fix: Constrain file operations to an explicit, non-sensitive root; reject path traversal.

Location: tool unlink_work_character

low Mutating tool "book_unlink_entity" declares no destructiveHintMTC-CAP-005

Tool "book_unlink_entity" can mutate/egress but declares no destructiveHint. Clients that don't default to spec-safe behavior may not prompt before running it.

Fix: Declare accurate annotations, and gate destructive tools on user confirmation regardless.

Location: tool book_unlink_entity

low Mutating tool "unlink_work_character" declares no destructiveHintMTC-CAP-005

Tool "unlink_work_character" can mutate/egress but declares no destructiveHint. Clients that don't default to spec-safe behavior may not prompt before running it.

Fix: Declare accurate annotations, and gate destructive tools on user confirmation regardless.

Location: tool unlink_work_character

Tools 200

Each tool and what it can reach — statically extracted from the published source.

  • book_unlink_entitywrites files
  • browse_writingingests untrusted input
  • create_commentnetwork egress
  • marketplace_browseingests untrusted input
  • read_conversationingests untrusted input
  • send_messagenetwork egress
  • send_personal_letternetwork egress
  • unlink_work_characterwrites files
  • accept_collaborationno sensitive capability
  • add_work_to_seriesno sensitive capability
Show 190 more tools ↓
  • admin_ai_provider_keysno sensitive capability
  • admin_ai_providersno sensitive capability
  • admin_healthno sensitive capability
  • admin_image_providersno sensitive capability
  • admin_statsno sensitive capability
  • ai_generate_characterno sensitive capability
  • ai_generate_creatureno sensitive capability
  • ai_title_summary_suggestno sensitive capability
  • ai_usage_log_localno sensitive capability
  • ai_writing_feedbackno sensitive capability
  • book_character_evolutionno sensitive capability
  • book_entitiesno sensitive capability
  • book_link_entityno sensitive capability
  • character_portrait_generateno sensitive capability
  • character_publishno sensitive capability
  • character_relationshipsno sensitive capability
  • character_suggestionsno sensitive capability
  • character_unpublishno sensitive capability
  • compendium_unassignedno sensitive capability
  • competition_entriesno sensitive capability
  • competition_resultsno sensitive capability
  • competition_signupno sensitive capability
  • competition_submit_entryno sensitive capability
  • competition_voteno sensitive capability
  • connect_blueskyno sensitive capability
  • create_bookno sensitive capability
  • create_canvasno sensitive capability
  • create_chapterno sensitive capability
  • create_characterno sensitive capability
  • create_competitionno sensitive capability
  • create_creatureno sensitive capability
  • create_highlightno sensitive capability
  • create_locationno sensitive capability
  • create_plotno sensitive capability
  • create_seriesno sensitive capability
  • create_share_linkno sensitive capability
  • create_treeno sensitive capability
  • create_workshopno sensitive capability
  • creature_ai_imageno sensitive capability
  • creature_portrait_generateno sensitive capability
  • creature_publishno sensitive capability
  • creature_suggestionsno sensitive capability
  • creature_unpublishno sensitive capability
  • delete_bookno sensitive capability
  • delete_canvasno sensitive capability
  • delete_chapterno sensitive capability
  • delete_characterno sensitive capability
  • delete_commentno sensitive capability
  • delete_creatureno sensitive capability
  • delete_highlightno sensitive capability
  • delete_locationno sensitive capability
  • delete_plotno sensitive capability
  • delete_share_linkno sensitive capability
  • delete_treeno sensitive capability
  • delete_workno sensitive capability
  • disconnect_blueskyno sensitive capability
  • disconnect_mastodonno sensitive capability
  • export_bookno sensitive capability
  • export_workno sensitive capability
  • forum_list_threadsno sensitive capability
  • forum_postno sensitive capability
  • forum_read_threadno sensitive capability
  • forum_searchno sensitive capability
  • get_bookno sensitive capability
  • get_canvasno sensitive capability
  • get_chapterno sensitive capability
  • get_characterno sensitive capability
  • get_competitionno sensitive capability
  • get_creatureno sensitive capability
  • get_encounterno sensitive capability
  • get_groupno sensitive capability
  • get_locationno sensitive capability
  • get_location_blueprintno sensitive capability
  • get_monumentno sensitive capability
  • get_monument_by_aliasno sensitive capability
  • get_notepadno sensitive capability
  • get_plotno sensitive capability
  • get_presenceno sensitive capability
  • get_profileno sensitive capability
  • get_public_bookno sensitive capability
  • get_public_lettersno sensitive capability
  • get_random_monumentno sensitive capability
  • get_seriesno sensitive capability
  • get_shared_workno sensitive capability
  • get_social_linksno sensitive capability
  • get_supporter_statusno sensitive capability
  • get_tree_membersno sensitive capability
  • get_workno sensitive capability
  • get_workshopno sensitive capability
  • import_fountainno sensitive capability
  • invite_collaboratorno sensitive capability
  • join_topicno sensitive capability
  • leave_topicno sensitive capability
  • library_booksno sensitive capability
  • library_fork_bookno sensitive capability
  • link_work_characterno sensitive capability
  • list_bookmarksno sensitive capability
  • list_booksno sensitive capability
  • list_canvasesno sensitive capability
  • list_chaptersno sensitive capability
  • list_charactersno sensitive capability
  • list_collaboratorsno sensitive capability
  • list_commentsno sensitive capability
  • list_competitionsno sensitive capability
  • list_conversationsno sensitive capability
  • list_creaturesno sensitive capability
  • list_groupsno sensitive capability
  • list_highlightsno sensitive capability
  • list_locationsno sensitive capability
  • list_my_seriesno sensitive capability
  • list_my_worksno sensitive capability
  • list_notificationsno sensitive capability
  • list_plotsno sensitive capability
  • list_share_linksno sensitive capability
  • list_social_accountsno sensitive capability
  • list_topicsno sensitive capability
  • list_treesno sensitive capability
  • list_workshopsno sensitive capability
  • location_ai_fillno sensitive capability
  • location_ai_imageno sensitive capability
  • location_publishno sensitive capability
  • location_unpublishno sensitive capability
  • mark_notifications_readno sensitive capability
  • marketplace_book_showcaseno sensitive capability
  • marketplace_forkno sensitive capability
  • marketplace_fork_bookno sensitive capability
  • marketplace_getno sensitive capability
  • monument_shareno sensitive capability
  • monument_share_previewno sensitive capability
  • observatory_askno sensitive capability
  • observatory_insightsno sensitive capability
  • observatory_momentsno sensitive capability
  • observatory_statsno sensitive capability
  • observatory_summaryno sensitive capability
  • passage_comments_createno sensitive capability
  • passage_comments_deleteno sensitive capability
  • passage_comments_dismissno sensitive capability
  • passage_comments_escalateno sensitive capability
  • passage_comments_inboxno sensitive capability
  • passage_comments_listno sensitive capability
  • passage_comments_mark_readno sensitive capability
  • passage_comments_mineno sensitive capability
  • passage_comments_replyno sensitive capability
  • passage_comments_resonateno sensitive capability
  • personal_letter_inboxno sensitive capability
  • personal_letter_sentno sensitive capability
  • plot_add_actno sensitive capability
  • plot_add_sceneno sensitive capability
  • plot_ai_actsno sensitive capability
  • plot_ai_imageno sensitive capability
  • plot_ai_scenesno sensitive capability
  • plot_publishno sensitive capability
  • plot_unpublishno sensitive capability
  • publish_monumentno sensitive capability
  • publish_workno sensitive capability
  • read_personal_letterno sensitive capability
  • remove_collaboratorno sensitive capability
  • reorder_chaptersno sensitive capability
  • research_analyze_chapterno sensitive capability
  • research_character_graphno sensitive capability
  • research_intelligenceno sensitive capability
  • research_searchno sensitive capability
  • resonateno sensitive capability
  • search_contentno sensitive capability
  • search_usersno sensitive capability
  • search_writingno sensitive capability
  • send_letterno sensitive capability
  • submit_workshop_reviewno sensitive capability
  • supporter_cancelno sensitive capability
  • supporter_checkoutno sensitive capability
  • toggle_bookmarkno sensitive capability
  • tree_add_memberno sensitive capability
  • tree_generateno sensitive capability
  • tree_publishno sensitive capability
  • tree_unpublishno sensitive capability
  • update_avatar_sourceno sensitive capability
  • update_bookno sensitive capability
  • update_canvasno sensitive capability
  • update_chapterno sensitive capability
  • update_characterno sensitive capability
  • update_creatureno sensitive capability
  • update_locationno sensitive capability
  • update_notepadno sensitive capability
  • update_plotno sensitive capability
  • update_social_linksno sensitive capability
  • update_taglineno sensitive capability
  • update_treeno sensitive capability
  • update_workno sensitive capability
  • user_update_working_onno sensitive capability
  • work_entitiesno sensitive capability

Toxic flows 1

Cross-tool combinations that form a data-exfiltration primitive (untrusted input → sensitive source → external sink).

What this scan could not see

Versions 1

Scan history per published version. The engine is deterministic — the same version always yields the same score, so a changed score means the package itself changed.

VersionScoreFindingsEngineScanned
v2.4.1 latest A 96/100 5 1.13.0 2026-09-07

Embed this score

Show this server's live Trust Score in your README, docs or website. The badge is served straight from the registry and updates automatically after every rescan — no API key needed. It links back to this page, so anyone who sees the grade can also read the findings behind it instead of taking a number on faith.

MCP Trust Score: A · 96/100
Markdown (GitHub README)
[![MCP Trust Score](https://mcptrustchecker.com/registry/civnode-mcp/badge.svg)](https://mcptrustchecker.com/registry/civnode-mcp)
HTML
<a href="https://mcptrustchecker.com/registry/civnode-mcp"><img src="https://mcptrustchecker.com/registry/civnode-mcp/badge.svg" alt="MCP Trust Score" height="20"></a>
Prefer shields.io styling? Point it at https://mcptrustchecker.com/registry/civnode-mcp/badge.json via https://img.shields.io/endpoint?url=…

Verify this score yourself

The score above is reproducible: the same package version always yields the same result. Run it locally or over the free API — no account, no LLM, fully deterministic.

npx mcptrustchecker scan @civnode/mcp --online

Use the free API → How scoring works

Other implementations of Civnode 1

Independent packages implementing the same tool, scanned with the same engine. Compare all 2 side by side →

More in Design & Media