Skip to content

Commit eef4587

Browse files
authored
Merge pull request #19 from philschmid/feature/subcommand-architecture
Feature/subcommand architecture
2 parents 7429637 + c4e5243 commit eef4587

22 files changed

Lines changed: 2730 additions & 475 deletions

CHANGELOG.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Changelog
2+
3+
## [0.3.0] - 2026-01-22
4+
5+
### Added
6+
7+
- **Server Instructions Support** - Display MCP server instructions in output
8+
- `mcp-cli` (list all): Shows first line of instructions per server
9+
- `mcp-cli info <server>`: Shows full instructions under "Instructions:" heading
10+
11+
- **Tool Filtering** - Restrict tools per server via config
12+
- `allowedTools`: Glob patterns for tools to allow (e.g., `["read_*", "list_*"]`)
13+
- `disabledTools`: Glob patterns for tools to exclude (e.g., `["delete_*"]`)
14+
- `disabledTools` takes precedence over `allowedTools`
15+
- Filtering applies globally to all CLI operations (info, grep, call)
16+
17+
- **Connection Daemon** - Lazy-spawn connection pooling
18+
- Per-server daemon keeps MCP connections warm
19+
- 60s idle timeout (configurable via `MCP_DAEMON_TIMEOUT`)
20+
- Automatic config hash invalidation
21+
- `MCP_NO_DAEMON=1` to disable
22+
23+
- **3-Subcommand Architecture** - `info`, `grep`, `call`
24+
- Flexible format support: `server tool` and `server/tool`
25+
- `call` always outputs raw JSON (for piping/scripting)
26+
- `info`/`grep` always output human-readable format
27+
28+
- **Improved Error Messages for LLMs**
29+
- AMBIGUOUS_COMMAND: Shows both `call` and `info` options
30+
- UNKNOWN_SUBCOMMAND: Smart mapping (run→call, list→info, search→grep)
31+
- MISSING_ARGUMENT: Shows available servers list
32+
- INVALID_JSON: Schema hint with example
33+
34+
- **Advanced Chaining Examples** - New documentation section
35+
- Search and read pipelines with jq
36+
- Multi-file processing with loops
37+
- Conditional execution with `jq -e`
38+
- Multi-server aggregation
39+
- Error handling patterns
40+
41+
- **Generate System Instructions Script** - `scripts/generate-system-instructions.ts`
42+
43+
### Changed
44+
45+
- **CLI Command Structure**
46+
- `mcp-cli` (no args) lists all servers
47+
- `mcp-cli info <server>` requires a server argument
48+
49+
- **Grep Output Format**
50+
- Output now uses space-separated format: `<server> <tool> <description>`
51+
- Descriptions are always shown when available
52+
- Pattern now matches tool name only (not server name or description)
53+
54+
### Removed
55+
56+
- **Backward Compatibility Syntax** - `mcp-cli server/tool [args]` now errors with helpful message
57+
- **`--json` and `--raw` options** - Output format now automatic based on command

0 commit comments

Comments
 (0)