soul-mcp-server
soul-mcp-server
SOUL.md용 MCP 서버 — Claude Desktop 또는 MCP 호환 클라이언트에서 직접 soul 파일을 검증하고 생성합니다.
Agenturo를 위해 구축되었습니다 — SOUL.md의 참조 구현체입니다. 귀하의 soul 파일을 귀하만의 하위 도메인에서 라이브 에이전트로 배포하세요.
30초 설정
claude_desktop_config.json (macOS의 경우 보통 ~/Library/Application Support/Claude/claude_desktop_config.json에 위치)에 다음을 추가하세요:
{
"mcpServers": {
"soul-md-cli": {
"command": "npx",
"args": ["soul-mcp-server"]
}
}
}Claude Desktop을 재시작하세요. 도구 목록에 세 가지 soul 도구가 나타납니다.
Related MCP server: 50 First Tapes MCP Server
도구
validate_soul_file
.soul.md 파일을 SOUL.md 스키마에 따라 검증합니다.
매개변수:
path(문자열, 필수) — soul 파일의 경로
반환값: pass 불리언, name, version, errors 배열을 포함한 JSON.
예시 프롬프트:
"~/agents/marcus.soul.md에 있는 내 soul 파일을 검증해줘"
generate_soul_template
주어진 에이전트 이름과 키워드를 기반으로 시작용 .soul.md 파일을 생성합니다.
매개변수:
name(문자열, 필수) — 에이전트 이름keywords(문자열 배열, 선택) — 템플릿의 기반이 될 도메인 키워드
반환값: 편집 가능한 soul 파일 문자열.
예시 프롬프트:
"탄소 포집을 전문으로 하는 기후 과학자를 위한 soul 템플릿을 생성해줘"
score_soul_file
선택적 필드가 얼마나 채워졌는지에 따라 완성도 점수(0–100)를 반환합니다.
매개변수:
path(문자열, 필수) — soul 파일의 경로
반환값: score, filled, missing, total을 포함한 JSON.
예시 프롬프트:
"~/agents/startup-advisor.soul.md에 있는 내 에이전트 점수를 매기고 무엇이 빠졌는지 알려줘"
사양 및 예시
전체 사양: soul-spec
엄선된 커뮤니티 soul 파일: awesome-soul-files
CLI 검증기 (Claude 불필요): soul-md-cli
MIT 라이선스. Anton Agafonov 제작.
Available Tools
3 toolsgenerate_soul_templateB
Generate a starter SOUL.md file for a given agent name and keywords.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The agent's name. | |
| keywords | No | Keywords describing the agent's domain or expertise. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool generates a file but doesn't describe what 'starter' implies (e.g., template structure, default content), whether it overwrites existing files, requires specific permissions, or handles errors. This leaves significant gaps for a file-creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action ('Generate a starter SOUL.md file') and specifies the inputs. There is no wasted wording, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (file generation with two parameters), no annotations, and no output schema, the description is minimally adequate. It covers the basic purpose but lacks details on behavioral traits, usage context, and output format, which are important for effective tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting both parameters. The description adds marginal value by contextualizing 'name' and 'keywords' as inputs for agent customization, but doesn't provide additional syntax, format details, or examples beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Generate') and resource ('starter SOUL.md file'), and identifies the target ('for a given agent name and keywords'). However, it doesn't explicitly differentiate from sibling tools like 'score_soul_file' or 'validate_soul_file', which appear to operate on existing files rather than creating new ones.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its siblings. It doesn't mention alternatives, prerequisites, or exclusions, leaving the agent to infer usage from tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_soul_fileB
Return a completeness score (0-100) for a SOUL.md file based on how many optional fields are filled.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Path to the .soul.md file to score. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool returns a score but doesn't describe what happens if the file is missing, invalid, or inaccessible; whether it has side effects; or what the scoring algorithm entails beyond 'optional fields'. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core functionality and avoids redundancy, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (scoring based on optional fields), lack of annotations, and no output schema, the description is minimally adequate. It explains what the tool does but doesn't cover behavioral aspects like error handling or scoring details. For a tool with no structured output or annotations, more context would be beneficial to ensure reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'path' documented as 'Path to the .soul.md file to score.' The description doesn't add any meaning beyond this, such as file format expectations or path resolution rules. With high schema coverage, the baseline score of 3 is appropriate, as the schema handles the parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Return a completeness score (0-100) for a SOUL.md file based on how many optional fields are filled.' It specifies the verb ('return'), resource ('SOUL.md file'), and scoring mechanism ('completeness score based on optional fields'). However, it doesn't explicitly distinguish this from sibling tools like 'validate_soul_file', which might perform similar validation functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'generate_soul_template' or 'validate_soul_file', nor does it specify prerequisites or contexts where scoring is appropriate versus other operations. The agent must infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_soul_fileB
Validate a SOUL.md file against the schema. Returns pass/fail and field-level errors.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Path to the .soul.md file to validate. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the return format ('pass/fail and field-level errors'), which adds some behavioral context. However, it doesn't disclose other traits like error handling, performance, or side effects (e.g., whether it modifies the file). For a validation tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the purpose and includes return information. Every word earns its place with no redundancy or waste, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is adequate but has gaps. It covers purpose and returns, but lacks usage guidelines and full behavioral transparency. For a validation tool, this is minimally viable but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'path' parameter documented as 'Path to the .soul.md file to validate.' The description doesn't add any meaning beyond this, such as file format details or path constraints. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Validate a SOUL.md file against the schema.' It specifies the verb (validate), resource (SOUL.md file), and action (against schema). However, it doesn't explicitly differentiate from sibling tools like 'score_soul_file' or 'generate_soul_template' beyond the validation focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools or contexts where validation is preferred over scoring or template generation. Usage is implied by the purpose but lacks explicit when/when-not instructions.
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.
3 tool updates
v1.0.0- First observed
generate_soul_template - First observed
score_soul_file - First observed
validate_soul_file
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: generate creates a new file, score evaluates completeness, and validates checks schema compliance. There is no overlap in functionality, and an agent can easily distinguish between them based on their specific actions.
All tool names follow a consistent verb_noun pattern with snake_case (generate_soul_template, score_soul_file, validate_soul_file). The verbs (generate, score, validate) are distinct and appropriately descriptive, maintaining a predictable naming convention throughout.
With only 3 tools, the set feels thin for a server focused on SOUL.md file management. While it covers basic operations (create, evaluate, validate), it lacks tools for updating, deleting, or listing files, which could limit agent workflows in this domain.
The tools cover creation, scoring, and validation, but there are notable gaps in the lifecycle. Missing operations like update_soul_file, delete_soul_file, or list_soul_files prevent full CRUD coverage, which could lead to dead ends for agents trying to manage multiple files.
Maintenance
Related MCP Connectors
Research-backed linting + generation for agent context files (CLAUDE.md, AGENTS.md, Cursor rules).
Generate and validate a .specs/ bundle for your repo, then hand it to your AI coding agent
Public agentic AI doctrine tools plus authenticated architecture, design, and spec validators.
Command your AI agents: verifiable passports, credential injection, full audit, revoke in 60s.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceIdentity infrastructure for AI agents. Gives agents an evolving persona, session continuity, and self-correcting retrieval so they stop being strangers. Local-first, model-agnostic.27 PyPI8AGPL 3.0
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to read and write a local-first knowledge base of plain markdown files in git, with governance gates for safe, hash-anchored edits.1Apache 2.0
- AlicenseNot gradedqualityDmaintenanceA soul document API for AI agents. Injects a short grounding preamble into your agent's system prompt before each session — licensing honest uncertainty, refusing cliché, and holding judgment instead of faking it. One call. ~200 tokens. Same model, better agent.MIT

01 Protocol MCP Serverofficial
FlicenseNot gradedqualityDmaintenanceEnables creation, verification, and evolution of cryptographically verifiable AI agent identities (.01ai) via MCP for Claude Desktop and other MCP clients.1-