Skip to main content
Glama
ellmos-ai

ellmos-servercommander-mcp

Official

ellmos-servercommander-mcp

서버 운영을 위한 알파 MCP 서버: 배포 드라이런, 메일 상태, 액세스 로그 분석, HTTP 상태 점검.

독일어 README: README_de.md

ellmos-ai 제품군의 일부입니다.

License: MIT npm version Python Node.js MCP Status: alpha Pytest: 37 passed Ecosystem: ellmos--ai open-bricks LLM--Ready: llms.txt

[!NOTE] 발견성 및 AI 검색: server.json, glama.json, smithery.yaml에 MCP 생태계용으로 분류되어 npm에 ellmos-servercommander-mcp로 게시되었으며, llms.txt에 AI/LLM 검색용으로 색인되었습니다.

아키텍처 시각화

graph TD
    Client[MCP Host: Claude / Cursor] <-->|stdio / JSON-RPC| NodeWrapper[Node.js Entrypoint]
    NodeWrapper <-->|Spawn subprocess| PyServer[Python MCP Server]
    
    subgraph Tools [ServerCommander Tools]
        PyServer -->|sc_health_check| HTTP[HTTP/HTTPS Endpoint Check]
        PyServer -->|sc_logs_analyze| Logs[Apache/Nginx Access Logs]
        PyServer -->|sc_deploy / sc_deploy_status| Deploy[Dry-Run Manifest & SQLite History]
        PyServer -->|sc_mail_*| Mail[IMAP/SMTP Safe Readiness Diagnostics]
    end
    
    subgraph Storage [Local Storage]
        Deploy -->|Optional persist| SQLite[(SQLite Deploy History)]
        Logs -->|Optional persist| JSONReports[(JSON Log Reports)]
    end

Related MCP server: automation-health-mcp

시작하기

목표

시작 위치

ServerCommander를 Claude Desktop, Claude Code, Cursor 또는 다른 MCP 호스트에 추가

MCP 클라이언트 구성

배포 전에 공개 또는 내부 HTTP 엔드포인트 확인

sc_health_check

오류, 봇, 리퍼러, 의심스러운 경로에 대한 Apache/Nginx 액세스 로그 검사

sc_logs_analyze

SFTP/SSH 실행이 존재하기 전에 드라이런 배포 매니페스트 구축

sc_deploy 및 sc_deploy_status

오늘 실수로 보내지 않고 나중에 메일 작업 연결

sc_mail_list, sc_mail_read, sc_mail_send, sc_mail_search

상태

  • 전송: Python MCP SDK를 통한 stdio

  • 패키지 상태: ellmos-ai 산하 공개 알파 패키지

  • 현재 핵심: MCP 도구 목록, MCP 도구 디스패치, 구성 로드, HTTP 상태 점검, 선택적 영구 JSON 보고서가 포함된 더 풍부한 액세스 로그 분석, 선택적 로컬 드라이런 배포 기록

  • 안전한 알파 핸들러: sc_deploy는 드라이런 모드에서 로컬 SHA256 매니페스트, 구성 진단, 옵트인 SQLite 기록 레코드를 구축합니다. sc_mail_*는 메일 연결을 열지 않고 프로토콜별 IMAP/SMTP 준비 상태를 보고합니다

  • i18n: en, de, es, zh, ja, ru에 대한 지역화된 MCP 도구 설명, 입력 스키마 필드 설명, 알 수 없는 도구 오류(영어 폴백 포함)

설치

npm 패키지에는 Python 서버를 시작하는 Node 래퍼가 포함되어 있습니다. 여전히 Python 3.10+ 및 Python 패키지 mcp>=1.0.0이 필요합니다.

옵션 1: npm에서 설치

npm install -g ellmos-servercommander-mcp@alpha
ellmos-servercommander

옵션 2: 소스에서 설치

git clone https://github.com/ellmos-ai/ellmos-servercommander-mcp.git
cd ellmos-servercommander-mcp
$env:PYTHONIOENCODING = "utf-8"
python -m pip install -e ".[dev]"
python -m pytest -q

동기화 클라이언트가 파일을 잠그는 경우 클라우드 동기화 폴더 안에 .venv를 만들지 마십시오. 격리된 환경이 필요한 경우 해당 폴더 밖에 만드십시오.

소스에서 시작

$env:PYTHONPATH = "src"
python -m servercommander.server

MCP 클라이언트 구성

전역 npm 설치

{
  "mcpServers": {
    "servercommander": {
      "command": "ellmos-servercommander"
    }
  }
}

전역 설치 없는 npx

{
  "mcpServers": {
    "servercommander": {
      "command": "npx",
      "args": ["-y", "ellmos-servercommander-mcp@alpha"]
    }
  }
}

직접 Python 실행

{
  "mcpServers": {
    "servercommander": {
      "command": "python",
      "args": ["-m", "servercommander.server"],
      "env": {
        "PYTHONPATH": "C:/path/to/ellmos-servercommander-mcp/src",
        "SERVERCOMMANDER_CONFIG_PATH": "C:/path/to/config/servercommander.toml"
      }
    }
  }
}

구성

ServerCommander는 다음 순서로 구성을 찾습니다:

  1. 환경 변수 SERVERCOMMANDER_CONFIG_PATH

  2. ./servercommander.toml

  3. ./config/servercommander.toml

  4. ~/.config/servercommander/servercommander.toml

주석이 달린 템플릿은 config/servercommander.example.toml에 포함되어 있습니다.

[server]
name = "servercommander"
log_level = "INFO"
language = "en"

[deploy.profiles.staging]
target = "sftp://staging.example.com/var/www/app"
local_path = "./dist"
protocol = "sftp"
dry_run = true
record_history = true

[mail]
execution_enabled = false
smtp_host = "smtp.example.com"
smtp_port = 587
imap_host = "imap.example.com"
imap_port = 993

비밀은 환경 변수를 통해 참조해야 합니다(예: $MAIL_PASSWORD 또는 $SFTP_PASSWORD).

도구

  • sc_health_check: HTTP 엔드포인트를 확인하고 상태 코드와 지연 시간을 보고합니다. 잘못된 엔드포인트 URL은 실패한 검사로 반환되므로 잘못된 입력 하나가 배치를 중단하지 않습니다

  • sc_logs_analyze: 인라인 텍스트 또는 로컬 파일에서 Apache/Nginx 액세스 로그를 분석합니다. 상태 클래스, 바이트, 리퍼러, 오류 경로, 의심스러운 요청 마커, persist_report를 통한 선택적 JSON 보고서 저장을 포함합니다

  • sc_deploy: 로컬 SHA256 매니페스트와 프로필 진단으로 배포 계획을 생성하지만 아직 업로드하지는 않습니다. 준비 검사는 선택적 record_history=true 전에 필수 필드, 매니페스트 가능한 로컬 경로, 지원되는 프로토콜을 확인합니다. 중첩 심볼릭 링크는 보고되지만 제외되므로 매니페스트가 선택한 릴리스 디렉터리를 넘어 조용히 이동할 수 없습니다

  • sc_deploy_status: 구성된 배포 프로필, 선택된 프로필 진단, 로컬 SQLite 기록 데이터베이스의 최근 드라이런 기록을 표시합니다

  • sc_mail_list, sc_mail_read, sc_mail_send, sc_mail_search: 작업별 IMAP/SMTP 준비 진단이 포함된 안전한 알파 상태 응답이며 기본적으로 메일 연결이 없습니다. [mail].execution_enabled = true로 설정하면 sc_mail_list는 표준 mail-connector 모듈을 재사용하여 실시간 읽기 전용 IMAP 연결 가능성 프로브(연결 + 폴더 목록)를 실행합니다. IMAP 클라이언트를 다시 구현하지 않습니다. 메시지 수준 읽기/검색은 mail-connector의 영역으로 남고 SMTP 전송은 실행되지 않습니다

검색 및 명확화

ServerCommander는 로컬 우선 서버 관리 워크플로우를 위한 ellmos 운영 MCP 서버입니다. 다음을 검색할 때 이 저장소를 사용하십시오:

  • MCP 서버 운영 도구

  • MCP 배포 드라이런 서버

  • MCP 액세스 로그 분석기

  • MCP HTTP 상태 점검 도구

  • 로컬 우선 서버 관리 MCP

  • Claude Code 서버 운영 MCP

  • 안전한 SFTP 배포 계획 MCP

GitHub MCP 서버, 일반 셸 명령 MCP 서버, 호스팅 제공업체 제어판, 프로덕션 SFTP/IMAP 실행기가 아닙니다. 현재 알파 표면은 의도적으로 진단 및 드라이런 우선입니다.

ellmos-ai 생태계

이 MCP 서버는 ellmos-ai 생태계의 일부입니다 — AI 인프라, MCP 서버, 지능형 도구.

MCP 서버 제품군

서버

도구

초점

npm

FileCommander

46

파일 시스템, 프로세스 관리, 대화형 세션, 클라우드 잠금 안전 작업

ellmos-filecommander-mcp

CodeCommander

22

코드 분석, JSON 복구, 가져오기, diff, 정규식

ellmos-codecommander-mcp

Clatcher

12

파일 복구, 형식 변환, 배치 작업

ellmos-clatcher-mcp

n8n Manager

18

AI 어시스턴트를 통한 n8n 워크플로우 관리

n8n-manager-mcp

ControlCenter

20

MCP 스택 발견, 프로필 관리, 제어 평면

ellmos-controlcenter-mcp

Homebase

45

로컬 우선 LLM 메모리, 지식, 상태, 라우팅, 스웜 오케스트레이션

ellmos-homebase-mcp (알파)

ServerCommander

8

서버 운영: 상태 점검, 로그 분석, 배포 드라이런, 메일 진단

ellmos-servercommander-mcp (알파)

Blender Use

3

헤드리스 Blender 에셋 QA 및 FBX 재가져오기 검증

ellmos-blender-use-mcp (알파)

Open Compute

10

모델 비종속 컴퓨터 사용: 캡처, 안전 게이트 작업, Windows UIA

open-compute-mcp (알파)

AI 인프라 및 개발자 도구

프로젝트

설명

BACH

LLM 에이전트를 위한 로컬 우선 텍스트 기반 OS — 113개 이상의 핸들러, 550개 이상의 도구, SQLite 메모리

open-compute

모델에 구애받지 않는 computer-use 코어, Open Compute MCP 구동용

clutch

제공자 중립적인 LLM 오케스트레이션, 자동 라우팅 및 예산 추적 포함

rinnsal

경량 에이전트 메모리, 커넥터 및 자동화 인프라

ellmos-stack

자체 호스팅 AI 연구 스택 (Ollama + n8n + Rinnsal + KnowledgeDigest)

MarbleRun

Claude Code용 자율 에이전트 체인 프레임워크

gardener

미니멀리스트 데이터베이스 기반 LLM OS 프로토타입 (4개 함수, 1개 테이블)

ellmos-tests

LLM 운영 체제를 위한 테스팅 프레임워크 (7개 차원)

sqlite-transit-sync

암호화된 SQLite 전송 동기화 및 추가 읽기 전용 복제 엔진

workflowhooker

Git 훅 기반 워크플로 자동화 및 실행 안전 경계

system-explorer

로컬 우선 시스템 구성, 모듈 내부 조사 및 플릿 검증

companion-for-agy

반중력 개발자 동반자 및 텔레메트리 브리지

데스크톱 소프트웨어

당사의 파트너 조직인 open-bricks 는 AI 네이티브 데스크톱 애플리케이션을 번들로 제공합니다. 이는 AI 시대에 맞춰 구축된 현대적인 오픈 소스 소프트웨어 제품군입니다. 카테고리에는 파일 관리(ProFiler), 문서 도구(DokuZen, PDFtoPDFocr), 개발자 유틸리티(DevCenter, CodeBox) 등이 포함됩니다.

개발

$env:PYTHONIOENCODING = "utf-8"
python -m pytest -q
npm run smoke
npm pack --dry-run

다음 유용한 단계: dry-run/status-only 기본값을 유지하면서 SFTP 및 IMAP/SMTP에 대한 명시적으로 구성된 실행 어댑터를 추가합니다.

Available Tools

8 tools
sc_deployB

Build a safe deployment plan. Alpha only: execution requires dry_run=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoBuild the plan without executing deployment.
profileNoDeployment profile name.
local_pathNoLocal source path.
remote_pathNoRemote target path.
record_historyNoPersist this dry-run deployment plan in the local history database.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It mentions alpha status and a dry_run constraint, but does not disclose side effects such as record_history writing to a local database, permissions, or return behavior. The phrase "execution requires dry_run=true" is also ambiguous because dry_run=true means no execution per the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two compact sentences with no wasted words, and the core purpose is front-loaded before the alpha constraint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The schema fully documents all five parameters, and the description adds the important alpha/dry_run limitation. However, with no annotations and no output schema, the description omits enough behavioral context (side effects, return values, alternatives) that the definition is only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameter meanings are already documented in the input schema. The description only repeats the dry_run requirement and adds no syntax, format, or interaction details beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: "Build a safe deployment plan." It distinguishes the tool from an actual deployment execution, and the alpha-only note further narrows scope. However, it does not explicitly differentiate itself from the sibling sc_deploy_status tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a constraint ("Alpha only: execution requires dry_run=true") but no guidance on when to use this tool versus alternatives such as sc_deploy_status. There is no when-to-use or when-not-to-use context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sc_deploy_statusC

Show configured deployment profiles and alpha deployment-history status.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results.
profileNoDeployment profile name.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden. 'Show' implies read-only, but there is no mention of auth requirements, whether the profile filter is required or optional, what happens when no profile is given, or how the limit interacts with history versus profiles.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no waste. It is slightly compressed to the point of ambiguity ('alpha deployment-history status'), but it does not pad or bury the key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity read tool with two optional, fully documented params and no output schema, the description is minimally adequate. It still leaves the meaning of the returned deployment status and the 'alpha' qualifier unexplained, which an agent would need to interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (limit, profile) are already documented. The description hints at their roles ('configured deployment profiles', 'deployment-history') but adds no syntax, defaults, or filtering semantics beyond what the schema states, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Show') and two concrete resources (configured deployment profiles, deployment-history status), so an agent understands it is a read/status query. It does not, however, differentiate itself from the sibling sc_deploy, and the qualifier 'alpha' is unexplained jargon that muddies what is actually being reported.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to call this versus sc_deploy or the other siblings, and no prerequisites or exclusions. Usage is only inferable from the fact that it is a status-style read, which is weak guidance for an agent choosing among eight tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sc_health_checkB

Check HTTP endpoints and return status codes plus latency.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoutNoRequest timeout in seconds.
endpointsNoHTTP endpoint URLs to check.

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It usefully discloses the return shape (status codes plus latency) but says nothing about authentication, redirect handling, concurrency, or per-endpoint failure behavior. Adequate disclosure of outputs, silent on operating conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with the action and the two return values front-loaded. No filler, nothing to trim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read tool with no output schema, stating that it returns status codes plus latency covers the main return-value gap. Deployment/auth context that would make it fully self-sufficient is absent, but nothing critical to invoking it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% – both 'timeout' (seconds, default 5) and 'endpoints' (URL list) are already documented in the schema. The description restates the purpose but adds no format, batching, or default details beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (check), resource (HTTP endpoints), and outputs (status codes plus latency), so the agent immediately knows what the tool does. It doesn't distinguish itself from siblings, but the siblings (sc_deploy, sc_mail_*, sc_logs_analyze) occupy unrelated domains, so cross-confusion risk is low.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no alternatives named. The health-check intent is only implied by the tool name and the endpoint wording. Nothing tells the agent when this is preferable to reading logs via sc_logs_analyze.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sc_logs_analyzeB

Analyze Apache/Nginx access logs from inline text or a local file path.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoLog format hint.
log_pathNoLocal access-log file path.
log_textNoInline access-log text.
top_pathsNoNumber of top paths to include.
report_nameNoOptional report filename stem.
persist_reportNoPersist the analysis summary as a JSON report.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, yet it discloses only the input sources. It says nothing about whether the tool writes anything to disk (relevant given persist_report and report_name), what permissions or file access are required, or how results are returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero waste; scope and input modes are stated immediately with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With six optional parameters, no output schema, and no annotations, the description is only partially complete. It omits what the analysis yields and the side effect of persisting a report, but the schema covers the individual parameters so the gap is moderate rather than critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all six parameters including format, log_path, log_text, top_paths, report_name, and persist_report. The description only restates the two input modes and adds no new parameter semantics, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Analyze) and resource (Apache/Nginx access logs), plus the two input modes (inline text or local file path). This clearly distinguishes it from unrelated siblings like sc_deploy and sc_mail_send, though it does not describe what the analysis produces.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the tool name and the two accepted input sources, but there is no explicit when-to-use/when-not guidance or mention of preconditions. Adequate but leaves the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sc_mail_listC

Alpha mail status endpoint for listing an IMAP folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results.
folderNoMail folder name.INBOX

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, and it says almost nothing: 'listing' weakly implies read-only, but there is no mention of pagination, return format, ordering, or folder-must-exist behavior. An agent gets minimal signal about what happens on invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence is appropriately sized, but the front-loaded 'Alpha mail status endpoint' framing is noise that misdirects rather than informing. It is concise but not well-structured around the actual operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No annotations and no output schema mean the description must explain behavior and results, and it does neither. For a list tool with defaults (limit=10, INBOX), an agent lacks the context needed to call it confidently or interpret the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters (limit, folder) are documented in the schema, so the baseline is 3. The description adds no extra meaning such as default pagination behavior or folder-name semantics beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'listing' and resource 'IMAP folder' are present, so the core action is inferable. However, the lead phrase 'Alpha mail status endpoint' muddles the purpose (status vs. listing) and the description never distinguishes this from siblings like sc_mail_search or sc_mail_read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus sc_mail_search (filtered retrieval) or sc_mail_read (single message). No prerequisites, no exclusions, nothing beyond an implied 'use this to list a folder'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sc_mail_readC

Alpha mail status endpoint for reading a message.

ParametersJSON Schema
NameRequiredDescriptionDefault
message_idNoMessage identifier.

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: it does not say the operation is read-only, what happens if the message_id is unknown, whether the caller needs authorization, or what the response contains. 'Status endpoint' hints at a return shape but never explains it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short sentence with no filler, which is structurally clean. The problem is under-specification rather than verbosity, and the most useful information (what it returns) is absent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read tool with no annotations and no output schema, the description should at least characterize the returned data, but it only offers the ambiguous label 'status endpoint'. With one parameter required and zero required params declared, an agent cannot determine preconditions or expected output from this definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single message_id parameter, so the schema already documents it. The description adds no format, source, or lookup guidance beyond that, making the baseline 3 the correct score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a verb ('reading') and resource ('a message'), which loosely separates it from siblings like sc_mail_list, sc_mail_send, and sc_mail_search. However, the phrase 'Alpha mail status endpoint' is unexplained jargon that muddies whether this reads message content or fetches a delivery/status record, so the purpose is only partially pinned down.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus sc_mail_list or sc_mail_search, both of which plausibly retrieve messages. The agent is left to infer that a known message_id is a prerequisite for this tool, and no exclusions or alternatives are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sc_mail_sendC

Alpha mail status endpoint for sending mail; does not send yet.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesEmail recipient.
bodyYesEmail body text.
subjectYesEmail subject.

TDQS

C2.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose one important trait: the endpoint does not actually send yet, which prevents a false assumption of a side effect. However, it omits auth requirements, what the call returns (no output schema), and whether it errors or silently no-ops, leaving key behavior undefined.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short sentence with no padding, and the caveat is placed immediately after the purpose. The only cost is that the phrasing itself is ambiguous rather than the length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-required-parameter call with no annotations and no output schema, the description should clarify what the invocation returns or does. It only asserts the tool 'does not send yet,' leaving return behavior, error cases, and the resulting state entirely unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and all three required parameters (to, subject, body) carry their own descriptions, so the schema does the heavy lifting. The description adds nothing about parameter formats or constraints, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is internally muddled: it calls itself a 'status endpoint' for 'sending mail' while also saying it 'does not send yet.' An agent cannot confidently tell whether this sends, checks status, or is a no-op, and the sibling set (sc_mail_list/read/search) offers no disambiguation. The verb+resource pair is stated but immediately undercut.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use, when-not-to-use, or alternative-tool guidance. The phrase 'does not send yet' hints the tool is a stub, but it never tells the agent when this tool should be preferred over other mail siblings or when to avoid it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updatesv0.1.0-alpha.21
    • First observedsc_deploy
    • First observedsc_deploy_status
    • First observedsc_health_check
    • First observedsc_logs_analyze
    • First observedsc_mail_list
    • First observedsc_mail_read
    • First observedsc_mail_search
    • First observedsc_mail_send

TDQS

B3/5.0

Scored across 8 tools

Disambiguation4/5

Each tool targets a fairly distinct area: deploy vs deploy_status differ by planning versus status inspection, and the four mail tools split cleanly along list/read/send/search. The main risk is sc_deploy vs sc_deploy_status, which could be confused at a glance, but descriptions clarify the boundary.

Naming Consistency4/5

All tools share an sc_ prefix and snake_case, with mostly predictable noun_verb ordering (sc_mail_list, sc_health_check, sc_logs_analyze). sc_deploy is a bare verb outlier and the mail_* group reads as noun_action rather than verb_noun, but the scheme is readable and consistent overall.

Tool Count4/5

Eight tools is well within a sensible range for a server-commander surface spanning deploy, mail, logs, and health. No obvious redundancy or padding, though half the set is devoted to mail operations that are still alpha stubs.

Completeness3/5

Mail coverage (list/read/send/search) and deploy (plan + status) are reasonably complete, but several operations are explicitly non-functional alpha status endpoints (send 'does not send yet') and there is no log tailing/filtering beyond one-shot analysis. The server-commander domain lacks service restart, config, or process-management operations, leaving notable gaps.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server for running infrastructure health checks with TIBET provenance. It enables users to define, execute, and audit process health checks with dependency chaining and drift tracking.
    6
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server for auditing automation health, finding failures, stale logs, and non-functional endpoints that report success while quietly failing.
    7
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server providing read-only operational tools (logs, metrics, traces, service health, config) for troubleshooting an environment, with one exception for toggling chaos scenarios.
    MIT