sop-mcp
README.md
# sop-mcp
[](https://pypi.org/project/sop-mcp/)
[](https://pypi.org/project/sop-mcp/)
[](https://github.com/ValueArchitectsAI/sop-mcp/blob/main/LICENSE)
An MCP server that brings process automation to AI agents through Standard Operating Procedures.
LLMs are powerful but unpredictable when executing multi-step processes — they skip steps, summarize instead of act, and lose track of where they are. sop-mcp solves this by delivering procedures one step at a time, forcing the agent to execute each step and provide concrete output before advancing. This turns SOPs into a control mechanism that makes LLM behavior predictable and auditable.
The result: agents that follow processes the way humans do — step by step, with reasoning enforced at each level.
This approach aligns with [Agent SOPs](https://github.com/strands-agents/agent-sop) — a standardized markdown format for defining AI agent workflows using RFC 2119 requirement levels (MUST, SHOULD, MAY). sop-mcp adds the execution layer: an MCP server that delivers these procedures one step at a time and enforces completion before advancing.
## Install
| Kiro | Cursor | VS Code |
| :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| [](https://kiro.dev/launch/mcp/add?name=sop-mcp&config=%7B%22command%22%3A%20%22uvx%22%2C%20%22args%22%3A%20%5B%22sop-mcp%22%5D%7D) | [](https://cursor.com/en/install-mcp?name=sop-mcp&config=eyJjb21tYW5kIjogInV2eCIsICJhcmdzIjogWyJzb3AtbWNwIl19) | [](https://vscode.dev/redirect/mcp/install?name=sop-mcp&config=%7B%22type%22%3A%20%22stdio%22%2C%20%22command%22%3A%20%22uvx%22%2C%20%22args%22%3A%20%5B%22sop-mcp%22%5D%7D) |
Or add manually:
```json
{
"mcpServers": {
"sop-mcp": {
"command": "uvx",
"args": ["sop-mcp"],
"env": { "SOP_STORAGE_DIR": "/path/to/your/sops" }
}
}
}
```
## How It Works
Every session starts the same way — discover what's available, then execute.
```
list_resources() → catalog of sop:// URIs
run_sop(sop_name="sop_creation_guide") → Step 1 + instructions
run_sop(..., current_step=1, step_output="...") → Step 2
run_sop(..., current_step=2, step_output="...") → Step 3
...
run_sop(..., current_step=N, step_output="...") → Completion
```
Each response tells the agent to *execute* the step — not just read it.
## Bundled SOPs
Four SOPs ship with the server so new users can try `run_sop` immediately:
| SOP | What it does |
| --------------------------- | ------------------------------------------------------------------------ |
| `sop_creation_guide` | Step-by-step guide for authoring new SOPs with RFC 2119 requirements |
| `code_review_process` | Standard code review workflow — prepare, review, address feedback, merge |
| `employee_onboarding_setup` | IT setup for a new hire — alias, email, hardware selection |
| `user_onboarding_process` | Provision identity, application access, and welcome package |
Storage default: `~/.sop_mcp` (seeded from the bundled SOPs on first run). Override with `SOP_STORAGE_DIR`.
## Tools
| Tool | Purpose |
| --------------------- | ------------------------------------------------------ |
| `list_resources` | Discover available SOPs (built in to every MCP client) |
| `read_resource` | Read an SOP's full content before executing it |
| `run_sop` | Execute an SOP step by step |
| `publish_sop` | Create or update an SOP |
| `submit_sop_feedback` | Record improvement suggestions |
Full parameter reference: [docs/mcp-reference.md](docs/mcp-reference.md)
## Documentation
| Audience | Resource |
| ---------- | ---------------------------------------------------------------------------------------------------- |
| AI tools | [`llms.txt`](llms.txt) — auto-discovered server description |
| Users | [`skills/sop-mcp-usage/`](skills/sop-mcp-usage/SKILL.md) — how to use |
| Operators | [`skills/sop-mcp-configuration/`](skills/sop-mcp-configuration/SKILL.md) — install, configure, hooks |
| Developers | [`CONTRIBUTING.md`](CONTRIBUTING.md) — build, test, design decisions |
| Reference | [`docs/mcp-reference.md`](docs/mcp-reference.md) — full tool schemas |
## Development
```bash
uv sync # install dependencies
uv run pytest # run tests
uv run sop-mcp # start server locally
uv run python scripts/generate_docs.py # regenerate docs
```
## License
MIT
TDQS
A3.8/5.0
Scored across 5 tools
Disambiguation5/5
Each tool targets a distinct action: publishing, running, providing feedback, and generic resource listing/reading. No overlaps or ambiguous boundaries exist between the tools.
Naming Consistency5/5
All tools use verb_noun snake_case, with run_sop, publish_sop, list_resources, read_resource following the pattern, and submit_sop_feedback as a natural extension. Consistent and predictable.
Tool Count5/5
Five tools cover the SOP lifecycle without bloat; each tool serves a clear purpose. The count is well within the ideal range for a focused server.
Completeness4/5
The surface covers publish (create/update), run (execution), and feedback, with list/read for discovery. Missing delete/archive and feedback retrieval, but those are minor gaps for the core workflow.
Maintenance
ActivityActive
ResponsivenessNo issues