Markdown linter, workspace-scoped stdio MCP server, and self-hosted text-only remote MCP server.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-hiroyukifuruno-kml": {
"command": "<see-readme>",
"args": []
}
}
}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.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
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
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
Asynchronous coordination layer for AI coding agents: identities, inboxes, searchable threads, and advisory file leases over FastMCP + Git + SQLite
MCP server for accessing Figma plugin console logs and screenshots via Cloudflare Workers or local mode
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