SKILL.md Lint

com.moltlinestudio由 moltlinestudio.com 发布官方发布者v1.2.0更新于 Nov 9, 2026

Lint a SKILL.md for frontmatter, structure, secrets and size. All 6 tools free.

发布方自己的服务:Moltline Business Suite

已验证Streamable HTTP可网页运行开发者工具安全与监控

概览

AI 生成的概览

托管型 MCP 服务器,用于检查 SKILL.md 的 frontmatter、结构、密钥泄露与体积,并提供 JSON、正则、文本差异和 cron 的小工具。

可以做什么
  • 检查单个 SKILL.md:YAML frontmatter 与必填字段、描述质量、正文结构、密钥泄露、注入式措辞和体积预算
  • 校验技能市场的 zip 打包布局,包括 SKILL.md 位置规则和垃圾文件
  • 用示例字符串测试正则表达式,返回匹配结果与分组
  • 校验 JSON 文本并概括其结构,出错时给出行列位置
  • 生成两段文本(例如两个版本的 SKILL.md)之间的统一差异
  • 用通俗英文解释五段式 cron 表达式并标出越界字段
适用场景
适合在编写或审阅 agent 技能、准备发布到技能市场之前使用;也适合在对话中快速做一次性的 JSON、正则、文本对比和 cron 检查。
运行要求
远程 Streamable HTTP 端点;免费工具无需账号、凭据或环境变量。仅支持 stdio 的客户端可使用单独的 Python 3.9+ 桥接脚本,需要能访问托管服务。
安装前请注意
六个工具均标为免费,免费层为匿名访问。同系列其他服务器提供需许可证解锁的高级工具;桥接脚本从 MOLTLINE_LICENSE 环境变量读取许可证并以请求头发送。检查结果仅供参考,提交的文本会发送到托管服务。

安装

在 SourceWeft 中

  1. 打开 控制台中的 SKILL.md Lint,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.moltlinestudio%2Fskillmd-lint/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "skill-md-lint": {
      "type": "http",
      "url": "https://mcp.moltlinestudio.com/skillmd-lint"
    }
  }
}

README

moltline-mcp

A thin, dependency-free stdio bridge to Moltline Studio's fleet of 22 hosted MCP servers.

Most modern MCP clients can connect to the fleet directly over Streamable HTTP, no install needed (see Direct connection below). This bridge exists for clients that only speak the stdio transport: it proxies newline-delimited JSON-RPC between your client and the hosted server, verbatim, with no telemetry and no dependencies beyond the Python 3.9+ standard library.

  • 160 tools across 22 servers; 110 are free.
  • Free tier: no registration, no account, no credentials. Connect and call tools immediately.
  • Premium tools are unlocked with a Moltline license. Set MOLTLINE_LICENSE in your MCP client's environment; the bridge sends it as the X-Moltline-License header and never writes it to argv, URLs or logs. See auth.md.
  • Independently checked by MCPize on the direct endpoints (scans of 5–6 September 2026: 6 A+, 15 A, 1 B+; scores 89–98). All 22 servers score 100 on clarity, 100 on reliability and 100 on trust, 95 on protocol and 87 on safety; the one finding raised on every server is that the free tier accepts anonymous access (which is the point of it), and the spread between servers sits in MCPize's "Market" dimension (a crowded category). Each server's MCPize listing links its own public result.

Find it on: Smithery · MCPize · Glama · Clawmart · MCP Registry

The fleet

ServerToolsWhat it does
catalog10Search 138 agent skills and personas by plain-language job; preview any product.
codereview7Risk-scan a diff, flag AI-generated-code tells, find secrets, report complexity.
govern8Audit an MCP config or SKILL.md for over-broad scope and prompt-injection risk.
timeops5Business days, meeting overlap, recurrence expansion, deadline and SLA math.
data7Paste-your-data analytics: CSV profiling, A/B tests, correlation, growth, cohorts.
humanizer5Find AI-isms with evidence, fingerprint a writing voice, measure burstiness.
business830 finance, bookkeeping, legal-ops and SMB operations persona-skill products.
creator820 blogging, brand-voice, copywriting, video and social persona-skill products.
educator78 curriculum, classroom, accommodations and exam-prep persona-skill products.
outbound87 outreach, sequencing, deliverability, call-coaching and CRM-hygiene products.
personal920 inbox, calendar, travel, meals and family-logistics persona-skill products.
research87 research navigation, thesis, note-taking and citation persona-skill products.
skillmd-lint6Lint a SKILL.md for frontmatter, structure, secrets and size. All tools free.
merchant6Commerce arithmetic: processor fees, charge-to-net, invoice totals, proration.
shipping6Dimensional weight, parcel fit, landed cost, freight class, rate cards.
shopify6Check a product CSV, URL handles, variant matrices and metafield keys.
dropship6Dropshipping unit economics: margin, lead time, SKU mapping, price ladders.
recall6A portable knowledge-graph memory you pass in and get back. No database.
vision6Image header probing, bbox conversion, resize plans, color and detection math.
regclock9Incident-reporting deadlines from the legal text (EU CRA, NIS2, DORA, GDPR, UK GDPR, HIPAA, SEC 8-K), cited.
taxlots8Crypto cost basis: parse exchange CSVs, lint, match transfers, FIFO/LIFO/HIFO lots, Form 8949 rows, 1099-DA diff.
optimize11OR-Tools routing, 3-D packing, 1-D/2-D cutting, knapsack and shift rostering with stated limits.

Machine-readable discovery: api-catalog · per-server card at https://mcp.moltlinestudio.com/<server>/.well-known/mcp/server-card.json · fleet health.

Direct connection (preferred)

If your MCP client supports Streamable HTTP (Claude Desktop, Claude Code, Cursor, and most current clients do), point it straight at the hosted endpoint (nothing to install):

json
{  "mcpServers": {    "moltline-timeops": {      "type": "http",      "url": "https://mcp.moltlinestudio.com/timeops"    }  }}

Swap timeops for any slug in the table above.

The stdio bridge (for stdio-only clients)

Install

Run directly (recommended): the bridge is a single stdlib-only file, so a clone is all you need:

bash
git clone https://github.com/GarphenGate/moltline-mcp.gitpython3 moltline-mcp/moltline_mcp.py timeops   # any of the 22 slugs; default: catalog

Docker: see Docker below if you prefer a container.

A PyPI package is planned; until then, use the methods above.

Client configuration

Point your MCP client at the script with an absolute path:

json
{  "mcpServers": {    "moltline-timeops": {      "command": "python3",      "args": ["/absolute/path/to/moltline-mcp/moltline_mcp.py", "timeops"]    }  }}

Or run it through Docker (after docker build -t moltline-mcp .):

json
{  "mcpServers": {    "moltline-timeops": {      "command": "docker",      "args": ["run", "-i", "--rm", "moltline-mcp", "timeops"]    }  }}

CLI

text
python3 moltline_mcp.py [server] [--timeout SECONDS] [--list] [--version]
  • server: one of the 22 slugs (default catalog); anything else fails fast with the valid list.
  • --timeout: per-request timeout in seconds (default 300, or env MOLTLINE_TIMEOUT).
  • --list: print the server slugs and exit.
  • Env MOLTLINE_BASE_URL: override the fleet base URL (for testing).
  • Env MOLTLINE_LICENSE: your Moltline license, sent as the X-Moltline-License header to unlock premium tools. Omit it and the bridge runs free-tier only.
  • Env MOLTLINE_DEBUG=1: diagnostic logging on stderr (stdout stays protocol-clean). The license is never logged; debug output reports only whether one is configured.

Docker

The bridge also runs containerized (stdio in, network egress to the fleet required):

bash
docker build -t moltline-mcp .docker run -i --rm moltline-mcp timeops   # any of the 22 slugs; default: catalog

See Client configuration for the matching mcpServers entry.

How it works

One process per server connection. Each JSON-RPC message read from stdin is POSTed to https://mcp.moltlinestudio.com/<server>; JSON and SSE-framed responses are relayed back to stdout as newline-delimited JSON. The bridge tracks the server-assigned Mcp-Session-Id and echoes the negotiated MCP-Protocol-Version, per the Streamable HTTP transport spec. It never inspects, stores, or reports your traffic.

Tests

The bridge ships with an offline test suite - no network, no dependencies:

bash
python -m unittest -v

Twenty-two tests cover the parts that actually break in a transport bridge: newline-delimited framing, SSE event splitting (multiple events, multi-line data: payloads, a trailing event with no blank line, comments and named events), session-id capture and reuse, protocol-version negotiation on initialize only, and error relay - a JSON-RPC error document is passed through verbatim, anything else becomes a well-formed -32603. CI runs them on Python 3.9, 3.12 and 3.13, plus a Docker build and container smoke test.

Access and licensing

  • Free tier: anonymous. No registration or credentials; all free tools work immediately.
  • Premium: unlocked with a Moltline license purchased (human-in-the-loop) at moltlinestudio.com. Set MOLTLINE_LICENSE in the environment and the bridge forwards it as the X-Moltline-License request header. It is deliberately not a command-line flag: argv is world-readable through ps. It is never placed in a URL and never logged. Details: auth.md.

Links

License

MIT © 2026 Moltline Studio

来源:README.md,提交 bbf91e4

工具

6

lint_skill

Lint Skill

Lint one SKILL.md file the way marketplaces and agents parse it. FREE. Checks YAML frontmatter presence and required fields (name, description), description quality, body structure (procedure steps, rules, degradation), secret/credential leakage, injection-style phrasing, and size budget. Typical input {"content": "<full SKILL.md text>"} returns {"verdict": "pass" | "pass-with-warnings" | "fail", "errors": ["..."], "warnings": ["..."], "stats": {"body_words": N, "has_frontmatter": bool}}. Use on the full text of one SKILL.md. Not for the surrounding archive layout (packaging_check). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "content is empty — pass the full SKILL.md text including frontmatter"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

输入参数content必填

packaging_check

Packaging Check

Validate a zip layout plan for a skill marketplace before packaging. FREE. Checks SKILL.md placement rules and flags junk files. Typical input {"file_paths": ["my-skill/SKILL.md", "my-skill/examples.md"], "marketplace": "agensi"} returns {"verdict": "pass" | "fail", "issues": ["..."], "skill_files_found": ["my-skill/SKILL.md"]}. Use on a planned file layout, before zipping. Not for the content of a skill file (lint_skill). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "file_paths is empty — list every file that will be inside the zip"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

输入参数file_paths必填marketplace

regex_test

Regex Test

Test a regular expression against sample strings. FREE. Typical input {"pattern": "v(\\d+)", "samples": ["v12", "beta"]} returns {"pattern": ..., "results": [{"sample": "v12", "match": true, "matched_text": "v12", "groups": ["12"]}, {"sample": "beta", "match": false, ...}], "match_count": 1}. Use to confirm a pattern matches what you expect before shipping it. Not for validating JSON (json_validate). The pattern is compiled and run in a short-lived, CPU-capped child process, so a pattern that backtracks catastrophically is stopped instead of stalling the server. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "a sample is too long (max 10000 characters); shorten it and retry"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

输入参数pattern必填samples必填

json_validate

Json Validate

Validate JSON text and summarize its structure. FREE. Typical input {"text": "{\"a\": [1, 2]}"} returns {"valid": true, "structure": {"a": ["array[2]", "int"]}}; invalid JSON returns {"valid": false, "error": "<parser message>", "line": N, "column": N} instead. Use when JSON may be malformed or its shape is unknown. Reports structure, not conformance to a schema. Not for testing a pattern (regex_test). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "text is empty — pass the JSON document as a raw string"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

输入参数text必填

diff_texts

Diff Texts

Produce a unified diff between two texts. FREE. Useful for comparing two SKILL.md versions. Typical input {"a": "<old text>", "b": "<new text>"} returns {"changed_lines": N, "diff": "--- \n+++ \n@@ ... @@\n-old line\n+new line"}; identical inputs return {"changed_lines": 0, "diff": "(identical)"}. The diff is capped at 400 lines. Use to show exactly what changed between two versions of a text. Not for judging the risk of a code change - the codereview server's review_diff does that. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "each text must be at most 500000 characters"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

输入参数a必填b必填

cron_explain

Cron Explain

Explain a 5-field cron expression in plain English and flag mistakes. FREE. Typical input {"expression": "0 9 * * 1-5"} returns {"expression": "0 9 * * 1-5", "meaning": "at minute 0; at hour 9; every day of month; every month; day of week 1-5", "issues": ["none"]}; out-of-range fields are listed in "issues". Use to read a schedule back in plain English before trusting it. Assumes 5-field cron; not for 6-field or seconds-precision variants. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "expected 5 fields, got <value>"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

输入参数expression必填

版本历史

1
  1. v1.2.0最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Moltlinestudio 集成