SkillAgentSearch skills...

cli

Runtime intelligence system that makes MCP servers debuggable, testable, and safe to run in production.

Install / Use

claude mcp add syrin-labs -- npx -y github:syrin-labs/cli

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

78/100

Supported Platforms

Claude Code
Claude Desktop

Our assessment of cli

cli scores 78/100 on our quality scale, 3639th of 4,617 Development & Engineering skills we index.

Its MCP Server is 8.8 KB long, well organised into 18 sections with 9 code examples: a thorough specification that gives an agent plenty to work with.

It has 48 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
29/30
Structure
20/20
Description
12/15
Adoption
7/20
Freshness
11/15

Maintenance, license and trust

  • The repository was last updated about 9 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
  • Our last check on 2026-10-21 found the source still online.
  • It is released under the ISC license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 91/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.

AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

cli compared with similar skills

All 4 of these similar skills score higher than cli; compare them before choosing.

SkillScoreStarsUpdatedFormat
cli (this skill)by syrin-labs78489mo agoMCP Server
taste-skillby Leonxlnx100110.6ktodayCLAUDE.md
Agent-Reachby Panniantong100109.2ktodayCLAUDE.md
headroomby headroomlabs-ai10078.9ktodayCLAUDE.md
ai-job-searchby ai-job-search-dev10069.8ktodayCLAUDE.md

Frequently asked questions

How do I install cli?
Run claude mcp add syrin-labs -- npx -y github:syrin-labs/cli. The install tabs above show the steps for each supported agent.
Which AI agents does cli work with?
It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
Is cli safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is ISC-licensed and scores 91/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is cli still maintained?
The repository was last updated about 9 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.

Syrin

Syrin Logo

npm version License: ISC Node.js Version

A linter + test runner for MCP servers.


The Problem

MCP (Model Context Protocol) is how AI agents call external tools — read files, query databases, hit APIs. If you are building or using an MCP server, your AI agent depends on those tool definitions being correct.

They usually are not.

  • Tool descriptions too vague for the LLM to pick the right one
  • Two tools look so similar the model picks one at random
  • Parameter schemas missing or wrong — LLM hallucinates values
  • A tool returns 12MB of JSON and blows the context window
  • Another tool silently writes to disk when it should not
  • Your logs look fine. The agent is broken.

Syrin catches all of this before production.

$ syrin analyse --transport http --url http://localhost:8000/mcp

 E110  Tool Ambiguity           get_user ↔ fetch_user
 E101  Missing Tool Description process_data has no description
 E102  Underspecified Input     user_id: no format, no example, no enum
 E105  Free Text Propagation    get_status → update_user (unconstrained string)
 W104  Generic Description      "Get data" — too vague for tool selection

 5 issues found (4 errors, 1 warning)

See It In Action

syrin analyse demo


Try It Right Now

One command. No install, no config, no API keys:

npx @syrin/cli analyse --transport http --url https://docs.syrin.dev/mcp

Have your own MCP server running? Point Syrin at it:

npx @syrin/cli analyse --transport http --url http://localhost:8000/mcp

If your server uses stdio instead of HTTP:

npx @syrin/cli analyse --transport stdio --script "python server.py"

Want to try more commands against a local example server?

git clone https://github.com/Syrin-Labs/cli.git
cd cli/examples/demo-mcp-py
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python server.py --mode http --port 8000 &

npx @syrin/cli list tools --transport http --url http://localhost:8000/mcp
npx @syrin/cli analyse --transport http --url http://localhost:8000/mcp

Requirements: Node.js >= 20.12, npm >= 9


What Syrin Catches

| Code | Issue | What Happens Without Syrin | | ---- | --------------------- | ------------------------------------------- | | E110 | Tool Ambiguity | LLM picks the wrong tool at random | | E101 | Missing Description | LLM has no idea what the tool does | | E102 | Underspecified Input | LLM hallucinates parameter values | | E105 | Free Text Propagation | LLM passes sentences where data is expected | | E103 | Type Mismatch | Tool chains break silently | | E107 | Circular Dependency | Agent loops forever, burns tokens | | E301 | Output Explosion | 12MB response blows the context window | | E500 | Side Effect Detected | Tool writes to disk when it should not |

See the full list: Error Reference · Warning Reference


Commands

| Command | What It Does | | --------------- | ------------------------------------------------------------------------ | | syrin list | Show tools, resources, and prompts a server exposes | | syrin analyse | Static analysis — catch contract issues without executing tools | | syrin test | Run tools in a sandbox and validate behavior against contracts | | syrin dev | Interactive session — watch an LLM interact with your tools in real time | | syrin doctor | Validate your config, environment, and connections |

Zero-config commands: list, analyse, and test --connection work with just --url or --script. No config file needed.

Config required: dev mode needs LLM API keys. Run syrin init --global to set up once.


All Demos

<table> <tr> <td width="33%"><strong>syrin analyse</strong><br/>Catch contract issues</td> <td width="33%"><strong>syrin dev</strong><br/>Interactive development</td> <td width="33%"><strong>syrin test</strong><br/>Sandboxed tool testing</td> </tr> <tr> <td><img src="https://github.com/Syrin-Labs/cli/raw/main/assets/demo/syrin-analyse/analyse.gif" width="280" alt="syrin analyse demo"/></td> <td><img src="https://github.com/Syrin-Labs/cli/raw/main/assets/demo/syrin-dev/dev.gif" width="280" alt="syrin dev demo"/></td> <td><img src="https://github.com/Syrin-Labs/cli/raw/main/assets/demo/syrin-test/test_tool.gif" width="280" alt="syrin test demo"/></td> </tr> <tr> <td width="33%"><strong>syrin init</strong><br/>Project setup</td> <td width="33%"><strong>syrin list</strong><br/>Inspect tools</td> <td width="33%"><strong>syrin test --connection</strong><br/>Connection test</td> </tr> <tr> <td><img src="https://github.com/Syrin-Labs/cli/raw/main/assets/demo/syrin-init/init.gif" width="280" alt="syrin init demo"/></td> <td><img src="https://github.com/Syrin-Labs/cli/raw/main/assets/demo/syrin-list/list.gif" width="280" alt="syrin list demo"/></td> <td><img src="https://github.com/Syrin-Labs/cli/raw/main/assets/demo/syrin-test/test_connection.gif" width="280" alt="syrin test --connection demo"/></td> </tr> </table>

Install

# Run without installing
npx @syrin/cli analyse --transport http --url http://localhost:8000/mcp

# Or install globally
npm install -g @syrin/cli
syrin --version

Set Up for a Project

syrin init                 # Creates syrin.yaml + tools/ directory
syrin doctor               # Validates config and connections
syrin analyse              # Analyse your MCP server
syrin test                 # Run contract tests
syrin dev --exec           # Interactive LLM-MCP session

Tool Contracts

Define behavioral guarantees for your tools in tools/<tool-name>.yaml:

version: 1
tool: fetch_user

contract:
  input_schema: FetchUserRequest
  output_schema: User

guarantees:
  side_effects: none
  max_output_size: 10kb

tests:
  - name: 'valid user'
    input:
      user_id: '123'
    expect:
      output_schema: User

  - name: 'invalid input'
    input:
      user_id: 123
    expect:
      error:
        type: input_validation

Run tests: syrin test or syrin test --tool fetch_user

Documentation: Writing Test Cases · Test Your MCP Tools


CI Integration

# .github/workflows/syrin.yml
name: MCP Validation
on: [push, pull_request]
jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '20'
      - run: npm install -g @syrin/cli
      - run: syrin analyse --ci
      - run: syrin test --ci --strict

See full CI docs: Add Syrin to CI


Documentation

Full docs at docs.syrin.dev

| Topic | Link | | --------------- | ---------------------------------------------------------------------------------------- | | Getting Started | docs.syrin.dev/getting-started | | Setup Guide | docs.syrin.dev/setup | | Configuration | docs.syrin.dev/configuration | | All Commands | docs.syrin.dev/commands | | Error Reference | docs.syrin.dev/testing/error-reference |


Community


Contributing

Contributions welcome. See Contributing Guide and Code of Conduct.

For security issues: Security Policy.

License

ISC License. See LICENSE.

Made by Syrin Labs.

Related Skills

View on GitHub
GitHub Stars48
CategoryDevelopment
Updated8mo ago
Forks3

Languages

TypeScript

Trust signals

91/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 low1 info