io.github.veldica/publishready
NPM · @VELDICA/PUBLISHREADY-MCP · SCANNED SEP 20
PublishReady: Deterministic writing control with local-first metrics and AI prose audits.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 35 of 106 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to veldica/publishready-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 144 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability85
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 1344 tokens (~51/item across 26 items; 16 tools + 10 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management90
- Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage99
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 98% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 16 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 17 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.github.veldica/publishready MCP server?
io.github.veldica/publishready runs locally as an npm package, launched with npx -y @veldica/publishready-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @veldica/publishready-mcp
claude mcp add veldica-publishready -- npx -y @veldica/publishready-mcp
{
"mcpServers": {
"veldica-publishready": {
"command": "npx",
"args": [
"-y",
"@veldica/publishready-mcp"
]
}
}
} {
"servers": {
"veldica-publishready": {
"command": "npx",
"args": [
"-y",
"@veldica/publishready-mcp"
]
}
}
} codex mcp add veldica-publishready -- npx -y @veldica/publishready-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"veldica-publishready": {
"type": "local",
"command": [
"npx",
"-y",
"@veldica/publishready-mcp"
],
"enabled": true
}
}
} openclaw mcp add veldica-publishready --command npx --arg -y --arg @veldica/publishready-mcp
mcp_servers:
veldica-publishready:
command: "npx"
args: ["-y", "@veldica/publishready-mcp"] {
"McpServers": {
"veldica-publishready": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@veldica/publishready-mcp"
]
}
}
} assistant mcp add veldica-publishready -t stdio -c npx -a -y @veldica/publishready-mcp
{
"mcpServers": {
"veldica-publishready": {
"command": "npx",
"args": [
"-y",
"@veldica/publishready-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 −3
- Stability: pass → 0.80 functional
- 16 Sept 26 +1
- Stability: 0.97 → pass security
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 10 Sept 26 −3
- Stability: pass → 0.80 functional
- 9 Sept 26 +1
- Stability: 0.97 → pass security
- 8 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/@veldica/publishready-mcp@1.0.5
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | veldica/publishready-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/veldica/publishready-mcp/.github/workflows/publish.yml@refs/heads/main |
| Rekor log index | 1396668991 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:06dd71bdf3a55cf222b6b41be8ecf1812ca0b1ffa6964df8bee967dadbab01764a02320ed8fefbd7b297bb17960735300fc9223a353d7c51902df68b6 |
Background: How many MCP packages publish verified provenance →
Dependencies 106 packages
| Packages resolved | 106 |
|---|---|
| Stale | 35 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
analyze_against_targets Analyze Against Targets ~84
Check text against an explicit target profile. Use this before rewriting. After producing a revision, call compare_text_versions with the same targets to verify movement.
| Name | Type | Req | Description |
|---|---|---|---|
| options | object | – | Optional flags for expanding the structured response. |
| targets | object | yes | Numeric constraints to check against the analyzed text. |
| text | string | yes | English prose or markdown-ish content to evaluate. |
| Name | Type | Req | Description |
|---|---|---|---|
| ai_analysis | object | – | – |
| consensus_grade | number | yes | – |
| consensus_sources | array | yes | – |
| counts | object | yes | – |
| details | object | yes | – |
| excluded_formulas | array | yes | – |
| fiction_metrics | object | – | – |
| fit | object | – | – |
| formulas | array | yes | – |
| interpretations | object | – | – |
| lexical_metrics | object | yes | – |
| metadata | object | yes | – |
| paragraph_metrics | object | yes | – |
| readability_band | string | yes | – |
| recommended_next | object | – | – |
| revision_levers | array | yes | – |
| scannability_metrics | object | yes | – |
| sentence_metrics | object | yes | – |
| summary | – | yes | – |
| targets | – | yes | Nested numeric target profile for deterministic writing checks. |
| template_info | object | – | – |
| violations | array | yes | – |
| word_tracking_metrics | object | – | – |
No examples provided.
analyze_against_template Analyze Against Template ~86
Check text against a built-in template. Use this before revising. After revision, call compare_text_versions with the same template_id to verify alignment.
| Name | Type | Req | Description |
|---|---|---|---|
| options | object | – | Optional flags for expanding the structured response. |
| template_id | string | yes | ID of the built-in template to check against. |
| text | string | yes | English prose or markdown-ish content to evaluate. |
| Name | Type | Req | Description |
|---|---|---|---|
| ai_analysis | object | – | – |
| consensus_grade | number | yes | – |
| consensus_sources | array | yes | – |
| counts | object | yes | – |
| details | object | yes | – |
| excluded_formulas | array | yes | – |
| fiction_metrics | object | – | – |
| fit | object | – | – |
| formulas | array | yes | – |
| interpretations | object | – | – |
| lexical_metrics | object | yes | – |
| metadata | object | yes | – |
| paragraph_metrics | object | yes | – |
| readability_band | string | yes | – |
| recommended_next | object | – | – |
| revision_levers | array | yes | – |
| scannability_metrics | object | yes | – |
| sentence_metrics | object | yes | – |
| summary | – | yes | – |
| targets | – | yes | Nested numeric target profile for deterministic writing checks. |
| template_info | object | – | – |
| violations | array | yes | – |
| word_tracking_metrics | object | – | – |
No examples provided.
analyze_text Analyze Text ~81
Return a deterministic writing analysis. MUST be used as the first step in most revision workflows to establish a baseline. After analysis, call suggest_revision_levers for optimization advice.
| Name | Type | Req | Description |
|---|---|---|---|
| options | object | – | Optional flags for expanding the structured response. |
| text | string | yes | English prose or markdown-ish content to analyze. Blank input is accepted and returns zeroed metrics. |
| Name | Type | Req | Description |
|---|---|---|---|
| ai_analysis | object | – | – |
| consensus_grade | number | yes | – |
| consensus_sources | array | yes | – |
| counts | object | yes | – |
| details | object | yes | – |
| excluded_formulas | array | yes | – |
| fiction_metrics | object | – | – |
| fit | object | – | – |
| formulas | array | yes | – |
| interpretations | object | – | – |
| lexical_metrics | object | yes | – |
| metadata | object | yes | – |
| paragraph_metrics | object | yes | – |
| readability_band | string | yes | – |
| recommended_next | object | – | – |
| revision_levers | array | yes | – |
| scannability_metrics | object | yes | – |
| sentence_metrics | object | yes | – |
| summary | – | yes | – |
| targets | – | yes | Nested numeric target profile for deterministic writing checks. |
| template_info | object | – | – |
| violations | array | yes | – |
| word_tracking_metrics | object | – | – |
No examples provided.
audit_ai_sounding_prose Audit AI-Sounding Prose ~135
Run the Veldica AI marker inventory directly. Returns marker density, weighted score, style band, categories, exact matches, tracked phrases, and supporting writing metrics. Use this when text feels generic, over-polished, formulaic, or AI-like.
| Name | Type | Req | Description |
|---|---|---|---|
| include_formula_breakdown | boolean | – | Include readability formula detail objects in the response. |
| include_matches | boolean | – | Include individual marker matches with line/column positions. |
| text | string | yes | English prose or markdown-ish content to audit. |
| track_words | array | – | Optional extra words or phrases to count alongside the built-in AI marker catalog. |
| Name | Type | Req | Description |
|---|---|---|---|
| ai_analysis | object | – | – |
| consensus_grade | number | yes | – |
| consensus_sources | array | yes | – |
| counts | object | yes | – |
| details | object | yes | – |
| excluded_formulas | array | yes | – |
| fiction_metrics | object | – | – |
| fit | object | – | – |
| formulas | array | yes | – |
| interpretations | object | – | – |
| lexical_metrics | object | yes | – |
| metadata | object | yes | – |
| paragraph_metrics | object | yes | – |
| readability_band | string | yes | – |
| recommended_next | object | – | – |
| revision_levers | array | yes | – |
| scannability_metrics | object | yes | – |
| sentence_metrics | object | yes | – |
| summary | – | yes | – |
| targets | – | yes | Nested numeric target profile for deterministic writing checks. |
| template_info | object | – | – |
| violations | array | yes | – |
| word_tracking_metrics | object | – | – |
No examples provided.
build_reference_profile Build Reference Profile ~51
Generate a Fingerprint Profile from one or more high-quality reference texts.
| Name | Type | Req | Description |
|---|---|---|---|
| profile_name | string | – | Optional name for the reference profile. |
| texts | array | yes | One or more reference texts to aggregate. |
| Name | Type | Req | Description |
|---|---|---|---|
| consensus_grade | number | yes | – |
| counts | object | yes | – |
| fiction_metrics | object | – | – |
| lexical_metrics | object | yes | – |
| name | string | – | – |
| paragraph_metrics | object | yes | – |
| profile_id | string | – | – |
| readability_band | string | yes | – |
| scannability_metrics | object | yes | – |
| sentence_metrics | object | yes | – |
| source_count | integer | – | – |
| source_sha256 | string | – | – |
| summary | string | – | – |
| timestamp | string | yes | Stable content-derived timestamp used to keep profile outputs deterministic. |
No examples provided.
compare_profiles Compare Profiles ~42
Compare two writing profiles, explicit target profiles, or templates.
| Name | Type | Req | Description |
|---|---|---|---|
| profile_a | – | yes | First profile or template ID. |
| profile_b | – | yes | Second profile or template ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| alignment_score | number | yes | – |
| largest_differences | array | yes | – |
| profile_a_name | string|null | yes | – |
| profile_b_name | string|null | yes | – |
| strongest_similarities | array | yes | – |
No examples provided.
compare_text_versions Compare Text Versions ~128
Compare original and revised drafts. MUST be called after any revision to verify mechanical improvement and factual integrity. It returns a 'quality_gate' which acts as a final decision object.
| Name | Type | Req | Description |
|---|---|---|---|
| original_text | string | yes | The original draft. |
| reference_profile | object | – | Optional reusable reference profile to compare both versions against. |
| reference_text | string | – | Optional reference sample to compare both versions against. |
| revised_text | string | yes | The revised draft. |
| targets | object | – | Optional numeric target profile to compare movement against. |
| template_id | string | – | Optional template to check improvement against. |
| Name | Type | Req | Description |
|---|---|---|---|
| comparison | object | yes | – |
| content_integrity | object | yes | – |
| improvements | array | yes | – |
| metrics_delta | object | yes | – |
| movement | string | yes | – |
| quality_gate | object | yes | – |
| recommended_next | object | – | – |
| reference_alignment | – | yes | – |
| regressions | array | yes | – |
| stable_traits | array | yes | – |
| summary | string | yes | – |
| target_fit | – | yes | – |
| template_fit | – | yes | – |
No examples provided.
compare_to_reference Compare to Reference ~59
Compare current text against a specific Fingerprint Profile.
| Name | Type | Req | Description |
|---|---|---|---|
| candidate_text | string | yes | The text to evaluate. |
| reference_profile | object | – | Previously built reference profile to compare against. |
| reference_text | string | – | Reference text to compare against. |
| Name | Type | Req | Description |
|---|---|---|---|
| alignment_score | number | yes | – |
| candidate_summary | string | – | – |
| largest_differences | array | yes | – |
| metrics | object | yes | – |
| recommended_next | object | – | – |
| reference_name | string | yes | – |
| reference_summary | string | – | – |
| reference_targets | object | yes | Nested numeric target profile for deterministic writing checks. |
| revision_levers | array | yes | – |
| strongest_similarities | array | yes | – |
No examples provided.
find_hotspots Find Hotspots ~74
Locate specific sentences or paragraphs for surgical revision. Each hotspot includes a 'hotspot_id' and 'revision_instruction'. After editing, MUST call compare_text_versions to verify the fix.
| Name | Type | Req | Description |
|---|---|---|---|
| template_id | string | – | Optional template to influence hotspot detection. |
| text | string | yes | Text to analyze for structural or lexical hotspots. |
| Name | Type | Req | Description |
|---|---|---|---|
| ai_analysis | object | – | – |
| consensus_grade | number | yes | – |
| consensus_sources | array | yes | – |
| counts | object | yes | – |
| details | object | yes | – |
| excluded_formulas | array | yes | – |
| fiction_metrics | object | – | – |
| fit | object | – | – |
| formulas | array | yes | – |
| interpretations | object | – | – |
| lexical_metrics | object | yes | – |
| metadata | object | yes | – |
| paragraph_metrics | object | yes | – |
| readability_band | string | yes | – |
| recommended_next | object | – | – |
| revision_levers | array | yes | – |
| scannability_metrics | object | yes | – |
| sentence_metrics | object | yes | – |
| summary | – | yes | – |
| targets | – | yes | Nested numeric target profile for deterministic writing checks. |
| template_info | object | – | – |
| violations | array | yes | – |
| word_tracking_metrics | object | – | – |
No examples provided.
find_reference_drift Find Reference Drift ~63
Detect if current writing samples are drifting away from a reference profile.
| Name | Type | Req | Description |
|---|---|---|---|
| candidate_text | string | yes | The text to evaluate for drift. |
| reference_profile | object | – | Reference profile to compare against. |
| reference_text | string | – | Reference text to compare against. |
| Name | Type | Req | Description |
|---|---|---|---|
| alignment_score | number | yes | – |
| changing_traits | array | yes | – |
| drift_detected | boolean | yes | – |
| drift_points | array | yes | – |
| impact_areas | array | yes | – |
| recommended_next | object | – | – |
| reference_targets | object | yes | Nested numeric target profile for deterministic writing checks. |
| stable_traits | array | yes | – |
| summary | string | yes | – |
No examples provided.
get_template Get Template ~35
Return the full details of a specific template including its numeric targets.
| Name | Type | Req | Description |
|---|---|---|---|
| template_id | string | yes | ID of the template to retrieve. |
| Name | Type | Req | Description |
|---|---|---|---|
| audience | string | yes | – |
| description | string | yes | – |
| family | string | yes | – |
| hard_fails | object | yes | Target failures that should usually block publication for this profile. |
| id | string | yes | – |
| name | string | yes | – |
| revision_priorities | array | yes | Ordered deterministic levers to try first when the template does not fit. |
| signal_interpretations | object | yes | Template-specific explanations for the most important metrics. |
| soft_preferences | object | yes | Signals that shape the intended feel but may be traded off deliberately. |
| targets | object | yes | Nested numeric target profile for deterministic writing checks. |
| tradeoffs | array | yes | Known style tradeoffs users should consider before optimizing mechanically. |
| use_case | string | yes | – |
No examples provided.
interpret_targets Interpret Targets ~37
Explain the human implications, likely audience, and tradeoffs of a set of numeric targets.
| Name | Type | Req | Description |
|---|---|---|---|
| targets | object | yes | Numeric targets to interpret. |
| Name | Type | Req | Description |
|---|---|---|---|
| coherence_warnings | array | yes | – |
| implications | array | yes | – |
| likely_audience | array | yes | – |
| likely_use_cases | array | yes | – |
| nearest_templates | array | yes | – |
| style_implications | array | yes | – |
| tradeoffs | array | yes | – |
No examples provided.
list_templates List Templates ~85
Return a list of available writing templates with their metadata.
| Name | Type | Req | Description |
|---|---|---|---|
| audience | string | – | Case-insensitive substring filter for template audience. |
| family | string | – | Filter templates by family. |
| query | string | – | Case-insensitive search across ID, name, description, audience, and use case. |
| use_case | string | – | Case-insensitive substring filter for template use case. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | – |
| templates | array | yes | – |
No examples provided.
plan_revision_workflow Plan Revision Workflow ~92
Generate a step-by-step tool-call sequence for a specific revision task (e.g., fact-preserving revision, template alignment). Use this when you are unsure which tool to call next.
| Name | Type | Req | Description |
|---|---|---|---|
| reference_text | string | – | Reference text for reference_match. |
| task | string | yes | – |
| template_id | string | – | Template ID for template_revision. |
| text | string | yes | The text to be revised. |
| Name | Type | Req | Description |
|---|---|---|---|
| acceptance_gate | object | yes | – |
| initial_tool | string | yes | – |
| reason | string | yes | – |
| steps | array | yes | – |
No examples provided.
suggest_revision_levers Suggest Revision Levers ~87
Rank deterministic revision levers. Use this before rewriting to identify high-impact changes. After revision, MUST call compare_text_versions to verify style improved without factual loss.
| Name | Type | Req | Description |
|---|---|---|---|
| options | object | – | Optional ranking output flags. |
| targets | object | – | Optional numeric targets that should influence lever ranking. |
| text | string | yes | English prose or markdown-ish content to analyze for ranked revision leverage. |
| Name | Type | Req | Description |
|---|---|---|---|
| ai_analysis | object | – | – |
| consensus_grade | number | yes | – |
| consensus_sources | array | yes | – |
| counts | object | yes | – |
| details | object | yes | – |
| excluded_formulas | array | yes | – |
| fiction_metrics | object | – | – |
| fit | object | – | – |
| formulas | array | yes | – |
| interpretations | object | – | – |
| lexical_metrics | object | yes | – |
| metadata | object | yes | – |
| paragraph_metrics | object | yes | – |
| readability_band | string | yes | – |
| recommended_next | object | – | – |
| revision_levers | array | yes | – |
| scannability_metrics | object | yes | – |
| sentence_metrics | object | yes | – |
| summary | – | yes | – |
| targets | – | yes | Nested numeric target profile for deterministic writing checks. |
| template_info | object | – | – |
| violations | array | yes | – |
| word_tracking_metrics | object | – | – |
No examples provided.
summarize_writing_profile Summarize Writing Profile ~34
Generate a fingerprint profile from a text sample.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | English prose to summarize into a writing profile. |
| Name | Type | Req | Description |
|---|---|---|---|
| nearest_templates | array | yes | – |
| notable_traits | object | yes | – |
| profile | object | yes | – |
| summary | string | yes | – |
No examples provided.
What is the io.github.veldica/publishready MCP server?
io.github.veldica/publishready is an MCP server listed in the public MCP registry as io.github.veldica/publishready. PublishReady: Deterministic writing control with local-first metrics and AI prose audits. This page covers its npm package (@veldica/publishready-mcp).
Is the io.github.veldica/publishready MCP server safe to use?
io.github.veldica/publishready scores 95 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.veldica/publishready MCP server expose?
io.github.veldica/publishready exposes 16 tools: analyze_text, analyze_against_targets, audit_ai_sounding_prose, suggest_revision_levers, analyze_against_template, and 11 more. Their descriptions and schemas cost roughly 1,173 tokens of context every time the server is loaded.
Is the io.github.veldica/publishready MCP server still maintained?
io.github.veldica/publishready is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.veldica/publishready MCP server under?
io.github.veldica/publishready declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.