Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.8.0] - 2026-03-08

### Added
- Added `docs/capability-taxonomy-design.md`, a draft design for evolving capability matching with stable canonical buckets, dynamic internal facets, and adapter-specific projection rules for downstream gateways.
- Added rich namespace classification diagnostics: canonical capability, internal facet tags, and evidence metadata are now available to internal callers, with `status --verbose` surfacing classification and optional adapter-projection details.
- Added additive config support for `operations.dynamicToolSurface.facetOverrides` and `operations.adapterProjection` so downstream integrations can remap canonical MCP² capabilities into adapter-specific buckets without changing the public router names.
- Added a canonical `database` capability for database tooling such as Prisma and Supabase, including heuristic signals, semantic reference text, and public capability metadata.
- Added a canonical `observability` capability for monitoring and error-tracking tooling such as Sentry, including heuristic signals, semantic reference text, and public capability metadata.
- Added a canonical `messaging` capability for chat and notification tooling such as Slack, including heuristic signals, semantic reference text, and public capability metadata.
- Added a canonical `payments` capability for billing and checkout tooling such as Stripe, including heuristic signals, semantic reference text, and public capability metadata.
- Added a canonical `design_workspace` capability for structured design-as-code tooling such as Pencil, including public capability metadata and docs/examples that distinguish it from generic visual `design` tools.
- Added a live-captured official Figma MCP fixture test and tuned `design_workspace` signals so Figma's published MCP tool surface classifies as `design_workspace` rather than generic visual `design`.

### Changed
- Updated `docs/ARCHITECTURE.md` to document the planned direction for taxonomy evolution: preserve stable public capability IDs and layer richer internal classification beneath them.
- Capability inference now records richer internal signals while preserving the existing public capability router contract.

## [0.7.0] - 2026-03-06

### Added
Expand Down
26 changes: 26 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,24 @@ refresh = "on_connect"
[operations.dynamicToolSurface.capabilityOverrides]
# Optional explicit namespace -> capability pinning.
# auggie = "code_search"
# pencil = "design_workspace"

[operations.dynamicToolSurface.facetOverrides]
# Optional namespace -> internal facet tags for diagnostics/adapter projection.
# pencil = ["design_workspace", "design_tokens", "design_to_code"]

[operations.adapterProjection]
enabled = false
defaultAdapter = "mcp2"

[operations.adapterProjection.adapters.gateway]
mode = "projected"
fallbackBucket = "general"

[operations.adapterProjection.adapters.gateway.namespaceBucketOverrides]
# Optional adapter-specific remapping for namespaces that should not inherit the
# downstream bucket semantics of their canonical MCP² capability.
# pencil = "general"
```

For existing configs created before this default, run:
Expand All @@ -196,15 +214,23 @@ Migration note: capability-router mode is now the only public surface. `mcp-squa

Legacy keys `operations.dynamicToolSurface.mode` and `operations.dynamicToolSurface.naming` are accepted for compatibility, ignored at runtime, and warned on load. `mcp-squared migrate` removes them.

`mcp-squared status --verbose` now also reports canonical namespace classification,
internal facet tags, and optional adapter-projection results when configured.

## Tool API (Capability Routers)

MCP² exposes one public tool per non-empty capability at connect time:
- `code_search`
- `docs`
- `browser_automation`
- `issue_tracking`
- `observability`
- `messaging`
- `payments`
- `database`
- `cms_content`
- `design`
- `design_workspace`
- `hosting_deploy`
- `time_util`
- `research`
Expand Down
11 changes: 11 additions & 0 deletions docs/ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,14 @@ graph TD

- A monitor server (UDS/TCP) exposes real-time stats for the TUI monitor.
- Stats include request counts, latency, memory usage, index size, and embedding/co-occurrence counts.

## Taxonomy Evolution

The public router surface intentionally uses stable canonical capability IDs because
security policy matching, config overrides, and client tool calls all depend on
predictable `capability:action` contracts. Richer internal classification and
adapter-specific bucket mappings should be layered underneath that public API
rather than replacing it with runtime-generated categories.

See `docs/capability-taxonomy-design.md` for the proposed canonical capability +
facet + adapter-projection model.
Loading
Loading