microsoft / microsoft/simplechat

MCP Track A Phase 2: add capability probe, richer metadata, and result policies

Open
#1,015 1 comment 0 reactions 1 assignee Claimed by @Bionic711 View on GitHub
enhancement security_improvement
Dominant language
Python
Stars
152
Forks
116
Avg merge
7h 7m
Merged PRs (30d)
122

Description

## Summary

Implement Track A Phase 2 from #1013: make outbound MCP discovery, capability metadata, schema handling, and result handling more robust.

## Scope

- Add an MCP compatibility probe endpoint or discovery mode.
- Capture transport, auth method, tool count, capability hints, and warnings.
- Preserve richer cached tool metadata including original name, normalized function name, description, input schema, annotations where available, output schema where available, and structured-content hints where available.
- Keep compatibility with existing `mcp_tools` entries.
- Add opt-in or warning-only input schema validation before invocation.
- Replace the single hard-coded truncation behavior with explicit result policies.
- Add UI warnings for empty tool lists, failed discovery with cached tools, duplicate normalized function names, unsupported prompts/resources, and overly broad schemas.

## Acceptance Criteria

- [ ] Probe/discovery returns useful diagnostics without leaking secrets.
- [ ] Existing cached `mcp_tools` remain readable and valid.
- [ ] Richer tool metadata is normalized and validated.
- [ ] Schema validation is disabled or warning-only by default to avoid breaking dynamic tools.
- [ ] Result-size policy defaults to truncate and supports future policy expansion.
- [ ] Functional/UI tests cover probe, metadata, warnings, schema validation mode, and result policy behavior.

## Notes

Parent: #1013
Planning doc: `docs/explanation/features/MCP_PLUGIN_ROBUSTNESS_PLAN.md`
Priority: P1
Size: M

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.