
syrin-labs/cli
Developer tools이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기
MCP 서버 debuggable, testable 및 생산에서 실행하는 안전한 실행 시간 인텔리전스 시스템.
개요
MCP (Model Context Protocol)는 AI 에이전트가 외부 도구를 호출하는 방법 - 파일, 쿼리 데이터베이스, 히트 API. MCP 서버를 구축하거나 사용하는 경우 AI 에이전트는 그 도구 정의에 따라 다릅니다. - LLM에 대한 도구 설명은 올바른 하나를 선택하기 위해 너무 vague - 두 가지 도구는 모델을 무작위로 선택 - 매개 변수 schemas 누락 또는 잘못 - LLM 복권 값 - 도구는 JSON의 12MB를 반환하고 상황에 맞는 창을 불어 - 다른 도구는 자동으로 디스크에 쓰기 - 귀하의 로그는 벌금을 볼 수. 대리인은 부서집니다. 1개의 명령. 설치 없음, 구성 없음, API 키 없음: MCP 서버가 실행되나요? 그것에 점 Syrin: 서버가 HTTP 대신 stdio를 사용한다면: 로컬 예제 서버에서 더 많은 명령을 시도하시겠습니까? 전체 목록보기 : 오류 참조 · 경고 참조 목록, 분석 및 테스트 --connection work with just --url or --script. config 파일이 필요하지 않습니다.
개요(AI 번역)
** MCP 서버의 linter + 테스트 런너. **
문제
MCP (Model Context Protocol)는 AI 에이전트가 외부 도구를 호출하는 방법 - 파일, 쿼리 데이터베이스, 히트 API. MCP 서버를 구축하거나 사용하는 경우 AI 에이전트는 그 도구 정의에 따라 다릅니다.
그들은 일반적으로 없습니다.
- LLM에 대한 도구 설명은 올바른 것을 선택하기 위해
- 두 개의 도구가 너무 유사하게 모델을 선택 무작위로
- 매개 변수 스키마 누락 또는 잘못 — LLM Hallucinates 값
- 도구는 JSON의 12MB를 반환하고 컨텍스트 창을 불어 넣습니다.
- 또 다른 도구가 조용히 디스크에 쓰면 안됩니다.
- 귀하의 로그가 잘 보입니다. 대리인은 부서집니다.
**Syrin은 생산하기 전에 모든 것을 잡습니다. **
행동을 본다
지금 시도하세요
1개의 명령. 설치 없음, 구성 없음, API 키 없음:
MCP 서버가 실행되나요? 그것에 점 Syrin:
서버가 HTTP 대신 stdio를 사용한다면:
로컬 예제 서버에서 더 많은 명령을 시도하시겠습니까?
문의: Node.js >= 20.12, npm >= 9
어떤 시린 캐치
| 코드 | 문제 | 시린없이의 행복 | 인포메이션 주식회사
이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.
README
원문 README의 일부입니다. 원문 보기.
Syrin

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

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 |
설치
npx @syrin/cli analyse --transport http --url https://docs.syrin.dev/mcp