@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
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:
| Points | Adoption-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.
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
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
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
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
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
Each tool and what it can reach — statically extracted from the published source.
book_unlink_entitywrites filesbrowse_writingingests untrusted inputcreate_commentnetwork egressmarketplace_browseingests untrusted inputread_conversationingests untrusted inputsend_messagenetwork egresssend_personal_letternetwork egressunlink_work_characterwrites filesaccept_collaborationno sensitive capabilityadd_work_to_seriesno sensitive capabilityadmin_ai_provider_keysno sensitive capabilityadmin_ai_providersno sensitive capabilityadmin_healthno sensitive capabilityadmin_image_providersno sensitive capabilityadmin_statsno sensitive capabilityai_generate_characterno sensitive capabilityai_generate_creatureno sensitive capabilityai_title_summary_suggestno sensitive capabilityai_usage_log_localno sensitive capabilityai_writing_feedbackno sensitive capabilitybook_character_evolutionno sensitive capabilitybook_entitiesno sensitive capabilitybook_link_entityno sensitive capabilitycharacter_portrait_generateno sensitive capabilitycharacter_publishno sensitive capabilitycharacter_relationshipsno sensitive capabilitycharacter_suggestionsno sensitive capabilitycharacter_unpublishno sensitive capabilitycompendium_unassignedno sensitive capabilitycompetition_entriesno sensitive capabilitycompetition_resultsno sensitive capabilitycompetition_signupno sensitive capabilitycompetition_submit_entryno sensitive capabilitycompetition_voteno sensitive capabilityconnect_blueskyno sensitive capabilitycreate_bookno sensitive capabilitycreate_canvasno sensitive capabilitycreate_chapterno sensitive capabilitycreate_characterno sensitive capabilitycreate_competitionno sensitive capabilitycreate_creatureno sensitive capabilitycreate_highlightno sensitive capabilitycreate_locationno sensitive capabilitycreate_plotno sensitive capabilitycreate_seriesno sensitive capabilitycreate_share_linkno sensitive capabilitycreate_treeno sensitive capabilitycreate_workshopno sensitive capabilitycreature_ai_imageno sensitive capabilitycreature_portrait_generateno sensitive capabilitycreature_publishno sensitive capabilitycreature_suggestionsno sensitive capabilitycreature_unpublishno sensitive capabilitydelete_bookno sensitive capabilitydelete_canvasno sensitive capabilitydelete_chapterno sensitive capabilitydelete_characterno sensitive capabilitydelete_commentno sensitive capabilitydelete_creatureno sensitive capabilitydelete_highlightno sensitive capabilitydelete_locationno sensitive capabilitydelete_plotno sensitive capabilitydelete_share_linkno sensitive capabilitydelete_treeno sensitive capabilitydelete_workno sensitive capabilitydisconnect_blueskyno sensitive capabilitydisconnect_mastodonno sensitive capabilityexport_bookno sensitive capabilityexport_workno sensitive capabilityforum_list_threadsno sensitive capabilityforum_postno sensitive capabilityforum_read_threadno sensitive capabilityforum_searchno sensitive capabilityget_bookno sensitive capabilityget_canvasno sensitive capabilityget_chapterno sensitive capabilityget_characterno sensitive capabilityget_competitionno sensitive capabilityget_creatureno sensitive capabilityget_encounterno sensitive capabilityget_groupno sensitive capabilityget_locationno sensitive capabilityget_location_blueprintno sensitive capabilityget_monumentno sensitive capabilityget_monument_by_aliasno sensitive capabilityget_notepadno sensitive capabilityget_plotno sensitive capabilityget_presenceno sensitive capabilityget_profileno sensitive capabilityget_public_bookno sensitive capabilityget_public_lettersno sensitive capabilityget_random_monumentno sensitive capabilityget_seriesno sensitive capabilityget_shared_workno sensitive capabilityget_social_linksno sensitive capabilityget_supporter_statusno sensitive capabilityget_tree_membersno sensitive capabilityget_workno sensitive capabilityget_workshopno sensitive capabilityimport_fountainno sensitive capabilityinvite_collaboratorno sensitive capabilityjoin_topicno sensitive capabilityleave_topicno sensitive capabilitylibrary_booksno sensitive capabilitylibrary_fork_bookno sensitive capabilitylink_work_characterno sensitive capabilitylist_bookmarksno sensitive capabilitylist_booksno sensitive capabilitylist_canvasesno sensitive capabilitylist_chaptersno sensitive capabilitylist_charactersno sensitive capabilitylist_collaboratorsno sensitive capabilitylist_commentsno sensitive capabilitylist_competitionsno sensitive capabilitylist_conversationsno sensitive capabilitylist_creaturesno sensitive capabilitylist_groupsno sensitive capabilitylist_highlightsno sensitive capabilitylist_locationsno sensitive capabilitylist_my_seriesno sensitive capabilitylist_my_worksno sensitive capabilitylist_notificationsno sensitive capabilitylist_plotsno sensitive capabilitylist_share_linksno sensitive capabilitylist_social_accountsno sensitive capabilitylist_topicsno sensitive capabilitylist_treesno sensitive capabilitylist_workshopsno sensitive capabilitylocation_ai_fillno sensitive capabilitylocation_ai_imageno sensitive capabilitylocation_publishno sensitive capabilitylocation_unpublishno sensitive capabilitymark_notifications_readno sensitive capabilitymarketplace_book_showcaseno sensitive capabilitymarketplace_forkno sensitive capabilitymarketplace_fork_bookno sensitive capabilitymarketplace_getno sensitive capabilitymonument_shareno sensitive capabilitymonument_share_previewno sensitive capabilityobservatory_askno sensitive capabilityobservatory_insightsno sensitive capabilityobservatory_momentsno sensitive capabilityobservatory_statsno sensitive capabilityobservatory_summaryno sensitive capabilitypassage_comments_createno sensitive capabilitypassage_comments_deleteno sensitive capabilitypassage_comments_dismissno sensitive capabilitypassage_comments_escalateno sensitive capabilitypassage_comments_inboxno sensitive capabilitypassage_comments_listno sensitive capabilitypassage_comments_mark_readno sensitive capabilitypassage_comments_mineno sensitive capabilitypassage_comments_replyno sensitive capabilitypassage_comments_resonateno sensitive capabilitypersonal_letter_inboxno sensitive capabilitypersonal_letter_sentno sensitive capabilityplot_add_actno sensitive capabilityplot_add_sceneno sensitive capabilityplot_ai_actsno sensitive capabilityplot_ai_imageno sensitive capabilityplot_ai_scenesno sensitive capabilityplot_publishno sensitive capabilityplot_unpublishno sensitive capabilitypublish_monumentno sensitive capabilitypublish_workno sensitive capabilityread_personal_letterno sensitive capabilityremove_collaboratorno sensitive capabilityreorder_chaptersno sensitive capabilityresearch_analyze_chapterno sensitive capabilityresearch_character_graphno sensitive capabilityresearch_intelligenceno sensitive capabilityresearch_searchno sensitive capabilityresonateno sensitive capabilitysearch_contentno sensitive capabilitysearch_usersno sensitive capabilitysearch_writingno sensitive capabilitysend_letterno sensitive capabilitysubmit_workshop_reviewno sensitive capabilitysupporter_cancelno sensitive capabilitysupporter_checkoutno sensitive capabilitytoggle_bookmarkno sensitive capabilitytree_add_memberno sensitive capabilitytree_generateno sensitive capabilitytree_publishno sensitive capabilitytree_unpublishno sensitive capabilityupdate_avatar_sourceno sensitive capabilityupdate_bookno sensitive capabilityupdate_canvasno sensitive capabilityupdate_chapterno sensitive capabilityupdate_characterno sensitive capabilityupdate_creatureno sensitive capabilityupdate_locationno sensitive capabilityupdate_notepadno sensitive capabilityupdate_plotno sensitive capabilityupdate_social_linksno sensitive capabilityupdate_taglineno sensitive capabilityupdate_treeno sensitive capabilityupdate_workno sensitive capabilityuser_update_working_onno sensitive capabilitywork_entitiesno sensitive capabilityCross-tool combinations that form a data-exfiltration primitive (untrusted input → sensitive source → external sink).
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.
| Version | Score | Findings | Engine | Scanned |
|---|---|---|---|---|
v2.4.1 latest |
A 96/100 | 5 | 1.13.0 | 2026-09-07 |
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.
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
Independent packages implementing the same tool, scanned with the same engine. Compare all 2 side by side →
Turn designs into shipped parts: quote 3D printing, CNC, and decals, then check out.
Aleph's official SiliconFlow media-generation MCP server (image / video / TTS)
MCP server for image generation using Google Gemini AI
Ambience AI MCP Server - Generate images, videos, and audio through Model Context Protocol
MCP server exposing every endpoint of the AstroWay Calculation API as tools — natal, synastry, transits, Vedic dashas, Tarot, Numerology, Human Design, AI horoscopes — for Claude Desktop, Cursor and any MCP-compatible AI agent.
Audio-guide and trip-planning tools for 1,100+ cities from Audiala. Free, no API key.