microsoft / microsoft/simplechat

MCP Track B Phase B5-B6: enable governed group/public tools and enterprise readiness

Open
#1,020 3 comments 0 reactions 1 assignee View on GitHub

@Bionic711 is already working on this.

Since Jul 9, 2026.

enhancement security_improvement
Dominant language
Python
Stars
152
Forks
116
Avg merge
7h 7m
Merged PRs (30d)
122

Description

## Summary

Complete the deferred inbound MCP scope from #1013: governed group/public/all-scope tools plus enterprise-readiness hardening.

## Deferred Tools

Keep these disabled until this issue is implemented and explicitly reviewed:

- `list_group_workspaces`
- `list_group_documents`
- `list_group_prompts`
- `list_public_workspaces`
- `list_public_documents`
- `list_public_prompts`
- All-scope `search_documents`
- All-scope `send_chat_message`

## Scope

- Reuse existing group/public role checks and workspace-status checks.
- Add governance controls per tool and scope.
- Add tenant/client/user audit logging.
- Add pagination and result limits.
- Add negative tests for users without workspace access.
- Add admin UX for enabling specific tools/scopes rather than relying on environment variables.
- Add correlation IDs across MCP requests, tool execution, and downstream SimpleChat operations.
- Track caller app ID, delegated user ID, tool name, duration, result status, and error type.
- Redact tokens, secrets, prompts, and sensitive document content.
- Avoid in-memory token/session caches as production state.
- Add bounded request timeouts, safe retry behavior, and health/readiness endpoints.
- Ensure multi-instance deployments behave consistently.
- Document app registration, PRM metadata, inbound MCP governance setup, supported tools, non-goals, and disablement workflows.

## Acceptance Criteria

- [ ] Group/public/all-scope tools remain disabled until explicitly enabled by governance.
- [ ] Users without workspace roles cannot access group/public data.
- [ ] Inactive or disabled workspaces remain blocked.
- [ ] Admin UX supports client/tool/scope enablement and redaction.
- [ ] Audit and telemetry identify caller app, delegated user, tool, duration, status, and error type without logging secrets.
- [ ] Health/readiness endpoints work for the MCP hosting surface.
- [ ] Multi-instance behavior does not rely on in-memory auth state.
- [ ] Documentation covers setup, governance, supported tools, and operational disablement.

## Notes

Parent: #1013
Depends on the inbound auth/governance foundation and initial personal tool issues.
Planning doc: `docs/explanation/features/MCP_PLUGIN_ROBUSTNESS_PLAN.md`
Priority: P1
Size: XL

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.