MCP server for unified prompt artifacts -- skills, slash commands, and rules.
This server loads prompt artifacts from explicitly configured directories. It exposes tools to discover and load Skills, and implements user invocable slash commands via the MCP prompts.
# Construction
```rust,ignore
use clap::Parser;
use mcp_servers::{SkillsMcp, SkillsMcpArgs};
let server = SkillsMcp::new(
"/my/project",
&["/my/project/.aether/skills".into(), "/my/project/.claude/rules".into()],
);
let args = SkillsMcpArgs::try_parse_from(["--dir", ".aether/skills", "--dir", ".claude/rules"])?;
let server = SkillsMcp::from_args(args, "/my/project".as_ref());
```
# Tools provided
- **`list_skills`** -- Discover available `agent-invocable` skills (lightweight metadata only).
- **`get_skills`** -- Load skill files by exact name returned from `list_skills`.
Recommended flow: `list_skills` -> `get_skills`.
# Prompts
The server also implements the MCP prompts protocol, listing available user-invocable prompts.
# See also
- [`CodingMcp`](crate::CodingMcp) -- Uses prompt catalogs for read-triggered rules via [`PromptRuleMatcher`](crate::coding::prompt_rule_matcher::PromptRuleMatcher).