Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-hiroyukifuruno-kml": {
"args": [
"-y",
"katana-markdown-linter"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A markdownlint-compatible Rust engine, kml CLI, formatter, safe fixer, editor server, and agent-ready MCP server.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'katana-markdown-linter' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked katana-markdown-linter against OSV.dev.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in developer-tools / writing
Copy/paste detector for programming source code, supports 223 formats. AI-ready with token-efficient reporter, skill and MCP server.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
Manage Supabase projects — databases, auth, storage, and edge functions
MCP Security Weekly
Get CVE alerts and security updates for io.github.HiroyukiFuruno/kml and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A markdownlint-compatible Rust engine, kml CLI, formatter,
safe fixer, editor server, and agent-ready MCP server.
Installation | CLI Usage | Library API | Editor Integration | MCP Server
katana-markdown-linter is a fast Markdown lint engine for technical writing,
specification documents, and AI-agent-assisted documentation workflows.
The project shares the KatanA visual identity, but keeps a standalone boundary: the crate, CLI, wrappers, editor server, and MCP server do not depend on KatanA Desktop.
kml CLI with JSON output, stdin support, ignore handling, and statisticsUse the crate directly when embedding linting into another Rust application.
lint(content, options)fix(content, options)available_rules()localized_available_rules(language_code)implemented_rules()missing_rules()rule_catalog()localized_rule_catalog(language_code)resolve_locale_code(language_code)resolve_locale_code_or(language_code, fallback)localized_rule_description(rule_id, fallback_description, language_code)supported_locales()upstream::get_rule_documentation(rule_id, locale)MarkdownLintConfigMarkdownLintConfig::schema()MarkdownLintConfig::to_lint_options()available_rules() returns canonical English metadata. For user-facing rule
catalogs, call localized_available_rules(language_code),
localized_rule_catalog(language_code), RuleMeta::localized_description(...),
or localized_rule_description(...) so applications can pass UI language codes
without reimplementing kml's fallback policy.
Locale is #[non_exhaustive] from v0.6.0. Consumers that match on Locale
should include a wildcard arm and prefer resolve_locale_code(...) or
resolve_locale_code_or(...) for UI language strings. Rule descriptions and
rule Markdown documentation are localized for en, ja, zh-CN, zh-TW,
ko, pt, fr, de, es, and it.
Mi