[PR #125] [MERGED] feat(mcp): expose progress, resources, and availability #1848

Closed
opened 2026-10-16 21:11:45 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/125
Author: @morluto
Created: 7/14/2026
Status: ✅ Merged
Merged: 7/14/2026
Merged by: @morluto

Base: feat/mcp-identity-metadata ← Head: feat/mcp-progress-resources


📝 Commits (2)

  • 3d6ccee feat(mcp): expose progress resources and availability
  • e636437 test(mcp): cover live identity and list changes

📊 Changes

26 files changed (+2070 additions, -213 deletions)

View changed files

📝 src/main.ts (+131 -7)
📝 src/server/createServer.ts (+69 -6)
➕ src/server/mcpProgress.ts (+46 -0)
📝 src/server/registerArtifactComparisonTool.ts (+6 -6)
📝 src/server/registerArtifactTools.ts (+2 -0)
📝 src/server/registerBundleComparisonTool.ts (+12 -7)
📝 src/server/registerEnhancedTools.ts (+15 -0)
➕ src/server/registerEvidenceResources.ts (+398 -0)
📝 src/server/registerEvidenceTools.ts (+78 -0)
📝 src/server/registerFunctionComparisonTool.ts (+6 -6)
📝 src/server/registerInvestigationTools.ts (+269 -162)
📝 src/server/registerOfficialTools.ts (+16 -0)
📝 src/server/registerProcessComparisonTool.ts (+12 -7)
📝 src/server/registerSessionStatusTool.ts (+60 -2)
📝 src/server/registerSessionTools.ts (+196 -8)
➕ src/server/runDerivedOperation.ts (+57 -0)
📝 src/server/toolResult.ts (+24 -1)
📝 tests/artifactMcp.test.ts (+145 -0)
➕ tests/derivedOperation.test.ts (+72 -0)
📝 tests/enhancedTools.test.ts (+7 -0)

...and 6 more files

📄 Description

Description

Wire the shared contracts through MCP: live server identity, labeled capability inventories, tools/list_changed notifications, bounded progress, transport cancellation, evidence and workspace resources, resource links, permission preflight, and consistent structured errors.

Cancelled derived operations yield before computation and before publication, so cancelled requests cannot retain successful Evidence. Resources remain session-owned and preserve inline compatibility.

This is stack 3 of 3. Review after the identity and core PRs.

Type of Change

  • Bug fix
  • New feature
  • Tool contract change (MCP schema modification)

Testing Performed

  • Unit tests added or updated
  • TypeScript typecheck passes
  • Full test suite passes: 78 files, 524 tests
  • Package verification performed
  • Focused MCP identity, progress, cancellation, resources, permissions, and investigation tests pass: 21 tests
  • Real Hopper verification performed
  • Linux real Hopper verification performed

Real Hopper verification was unavailable in this environment. No provider-specific Hopper behavior changed.

Tool Contract Impact

The 68-tool inventory is preserved. Server capabilities now advertise list changes and resources; status results expose identity, labeled inventories, client features, and operation-level availability.

Closes #100
Closes #111
Closes #115
Relates to #98
Relates to #99
Relates to #101
Relates to #112
Relates to #114

MCP Tasks from #97 are intentionally excluded.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/125 **Author:** [@morluto](https://github.com/morluto) **Created:** 7/14/2026 **Status:** ✅ Merged **Merged:** 7/14/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `feat/mcp-identity-metadata` ← **Head:** `feat/mcp-progress-resources` --- ### 📝 Commits (2) - [`3d6ccee`](https://github.com/morluto/rea/commit/3d6ccee17ad225cf37cd9e1a9c55c6f5d601bcdb) feat(mcp): expose progress resources and availability - [`e636437`](https://github.com/morluto/rea/commit/e63643704106e05c7f98e2064f9ea83521687088) test(mcp): cover live identity and list changes ### 📊 Changes **26 files changed** (+2070 additions, -213 deletions) <details> <summary>View changed files</summary> 📝 `src/main.ts` (+131 -7) 📝 `src/server/createServer.ts` (+69 -6) ➕ `src/server/mcpProgress.ts` (+46 -0) 📝 `src/server/registerArtifactComparisonTool.ts` (+6 -6) 📝 `src/server/registerArtifactTools.ts` (+2 -0) 📝 `src/server/registerBundleComparisonTool.ts` (+12 -7) 📝 `src/server/registerEnhancedTools.ts` (+15 -0) ➕ `src/server/registerEvidenceResources.ts` (+398 -0) 📝 `src/server/registerEvidenceTools.ts` (+78 -0) 📝 `src/server/registerFunctionComparisonTool.ts` (+6 -6) 📝 `src/server/registerInvestigationTools.ts` (+269 -162) 📝 `src/server/registerOfficialTools.ts` (+16 -0) 📝 `src/server/registerProcessComparisonTool.ts` (+12 -7) 📝 `src/server/registerSessionStatusTool.ts` (+60 -2) 📝 `src/server/registerSessionTools.ts` (+196 -8) ➕ `src/server/runDerivedOperation.ts` (+57 -0) 📝 `src/server/toolResult.ts` (+24 -1) 📝 `tests/artifactMcp.test.ts` (+145 -0) ➕ `tests/derivedOperation.test.ts` (+72 -0) 📝 `tests/enhancedTools.test.ts` (+7 -0) _...and 6 more files_ </details> ### 📄 Description ## Description Wire the shared contracts through MCP: live server identity, labeled capability inventories, tools/list_changed notifications, bounded progress, transport cancellation, evidence and workspace resources, resource links, permission preflight, and consistent structured errors. Cancelled derived operations yield before computation and before publication, so cancelled requests cannot retain successful Evidence. Resources remain session-owned and preserve inline compatibility. This is stack 3 of 3. Review after the identity and core PRs. ## Type of Change - [x] Bug fix - [x] New feature - [x] Tool contract change (MCP schema modification) ## Testing Performed - [x] Unit tests added or updated - [x] TypeScript typecheck passes - [x] Full test suite passes: 78 files, 524 tests - [x] Package verification performed - [x] Focused MCP identity, progress, cancellation, resources, permissions, and investigation tests pass: 21 tests - [ ] Real Hopper verification performed - [ ] Linux real Hopper verification performed Real Hopper verification was unavailable in this environment. No provider-specific Hopper behavior changed. ## Tool Contract Impact The 68-tool inventory is preserved. Server capabilities now advertise list changes and resources; status results expose identity, labeled inventories, client features, and operation-level availability. ## Related Issues Closes #100 Closes #111 Closes #115 Relates to #98 Relates to #99 Relates to #101 Relates to #112 Relates to #114 MCP Tasks from #97 are intentionally excluded. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-16 21:11:45 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#1848
No description provided.