Skip to content

Feat: MCP Enhancements#1888

Merged
PedroBinotto merged 29 commits into
devfrom
feat/mcp-enhancements
May 22, 2026
Merged

Feat: MCP Enhancements#1888
PedroBinotto merged 29 commits into
devfrom
feat/mcp-enhancements

Conversation

@PedroBinotto
Copy link
Copy Markdown
Collaborator

@PedroBinotto PedroBinotto commented May 12, 2026


Summary

Refines the MCP server and supporting REST surface so LLM clients get smaller, better-described payloads.

  • Lean proposal endpoints — adds GET /proposals/lean, /proposals/lean/{id}, /proposals/lean/search (and Snapshot equivalents under /offchain/proposals/lean*). These mirror the existing endpoints but omit heavy
    fields (calldatas/values/targets on-chain, body off-chain). The MCP server (packages/anticapture-client/src/create-mcp-server.ts) now binds the proposals, searchProposals, proposal, and Snapshot equivalents to
    the lean variants. The full-payload endpoints remain available over REST.
  • Structured healthGET /health now returns a snapshot (status, database, chain.head, indexer.{lastEventTimestamp,lagSeconds,fresh}). Freshness threshold is 300s. New gateway route GET /{dao}/health proxies
    the per-DAO snapshot and includes the gateway's circuit-breaker state.
  • rawDelta added to every change-rate response (governance-activity, token-distribution) so clients don't need to recompute the signed delta themselves. changeRate precision bumped from 2 to 6 decimals.
  • OpenAPI polish — operationIds/summary/tags added to gateway-owned routes (gatewayHealth, daos, averageDelegationPercentage); DAO identifier descriptions clarified (uppercase for response IDs, case-insensitive
    for path params); merged upstream /health paths blocklisted so the gateway's resolver definition wins.

⚠️ Breaking changes

These rename/shape changes will require coordinated client updates:

  1. DaoResponse field renamealreadySupportCalldataReviewsupportsCalldataReview, supportOffchainDatasupportsOffchainData. Affects /{dao}/dao, /daos, the GraphQL schema, the MCP dao/daos tools, and
    any generated client types. Dashboard and other consumers must update field references.
  2. Voting-power path parameter rename/voting-powers/{accountId}/voting-powers/{address}. The URL itself still matches positionally, but OpenAPI-generated clients and the MCP votingPowerByAccountId tool now
    expect address in place of accountId.
  3. /health 503 response shape — the legacy { status, database, message } body is gone. The error response is now the full snapshot shape with database: "error". Consumers that surfaced the message string lose that
    text.

- [X] **blocks usage**:
   - [X] proposals payload bloat;
- [ ] **correctness / UX**:
  - [ ] Two health endpoints, inverted utility;
  - [ ] Mixed naming;
- [ ] **polish:**
  - [ ] `changeRate` is opaque;
  - [ ] *ByAccountId endpoints are redundant with their list counterparts;
  - [ ] DAO id casing mismatch;
  - [ ] Inconsistent pagination;
- [ ] **strategic:**
  - [ ] No cross-DAO aggregation;
  - [ ] Per-endpoint DAO enums diverge with no machine-readable capability map;
@vercel
Copy link
Copy Markdown

vercel Bot commented May 12, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
anticapture Ready Ready Preview, Comment May 22, 2026 7:06pm
anticapture-storybook Ready Ready Preview, Comment May 22, 2026 7:06pm

Request Review

@railway-app
Copy link
Copy Markdown

railway-app Bot commented May 12, 2026

🚅 Deployed to the anticapture-pr-1888 environment in anticapture-infra

Service Status Web Updated (UTC)
gateful 🕒 Building (View Logs) Web May 22, 2026 at 7:10 pm
tempo ✅ Success (View Logs) May 22, 2026 at 7:06 pm
grafana ✅ Success (View Logs) Web May 22, 2026 at 7:05 pm
anticapture-mcp-server ✅ Success (View Logs) Web May 22, 2026 at 7:05 pm
loki ✅ Success (View Logs) Web May 22, 2026 at 7:05 pm
prometheus ✅ Success (View Logs) Web May 22, 2026 at 7:05 pm
otelcol ✅ Success (View Logs) May 22, 2026 at 7:05 pm
alertmanager ✅ Success (View Logs) Web May 22, 2026 at 7:05 pm
api-gateway ✅ Success (View Logs) Web May 22, 2026 at 5:06 pm
fluid-api ✅ Success (View Logs) May 22, 2026 at 5:04 pm
ens-relayer ✅ Success (View Logs) Web May 22, 2026 at 5:03 pm
scroll-api ✅ Success (View Logs) May 22, 2026 at 5:03 pm
compound-api ✅ Success (View Logs) May 22, 2026 at 5:03 pm
obol-api ✅ Success (View Logs) May 22, 2026 at 5:03 pm
aave-api ✅ Success (View Logs) May 22, 2026 at 5:02 pm
shutter-api ✅ Success (View Logs) May 22, 2026 at 5:01 pm
ens-api ✅ Success (View Logs) May 22, 2026 at 5:01 pm
gitcoin-api ✅ Success (View Logs) May 22, 2026 at 5:01 pm
lil-nouns-api ✅ Success (View Logs) May 22, 2026 at 5:01 pm
nouns-api ✅ Success (View Logs) May 22, 2026 at 5:01 pm
uniswap-api ✅ Success (View Logs) May 22, 2026 at 5:01 pm
nouns-indexer ✅ Success (View Logs) May 22, 2026 at 5:01 pm
address-enrichment ✅ Success (View Logs) Web May 20, 2026 at 10:07 pm
fluid-indexer ✅ Success (View Logs) May 20, 2026 at 6:24 pm
compound-indexer-offchain ✅ Success (View Logs) May 20, 2026 at 6:21 pm
ens-indexer-offchain ✅ Success (View Logs) May 20, 2026 at 6:19 pm
uniswap-indexer-offchain ❌ Build Failed (View Logs) May 20, 2026 at 6:16 pm
lil-nouns-indexer ✅ Success (View Logs) May 20, 2026 at 6:16 pm
gitcoin-indexer-offchain ✅ Success (View Logs) May 20, 2026 at 6:15 pm
uniswap-indexer ✅ Success (View Logs) May 15, 2026 at 6:52 pm
obol-indexer ✅ Success (View Logs) May 15, 2026 at 6:52 pm
erpc ✅ Success (View Logs) Web May 15, 2026 at 6:52 pm
scroll-indexer ✅ Success (View Logs) May 15, 2026 at 6:51 pm
shutter-indexer ✅ Success (View Logs) May 15, 2026 at 6:51 pm
aave-indexer ✅ Success (View Logs) May 15, 2026 at 6:49 pm
compound-indexer ✅ Success (View Logs) May 15, 2026 at 6:48 pm
ens-indexer ✅ Success (View Logs) May 15, 2026 at 6:48 pm
gitcoin-indexer ✅ Success (View Logs) May 15, 2026 at 6:47 pm
nodeful ✅ Success (View Logs) May 12, 2026 at 6:27 pm
14 services not affected by this PR
  • RabbitMQ
  • RabbitMQ Web UI
  • tailscale-entrance
  • caddy-zero-trust
  • s3manager
  • consumer
  • hyperindex-erpc
  • hyperindex-database
  • hyperindex-sync
  • hyperindex-sync-database
  • hyperindex-hyperrpc-database
  • hyperindex-hyperrpc
  • logic-system
  • dispatcher

@railway-app railway-app Bot temporarily deployed to anticapture-infra / anticapture-pr-1888 May 13, 2026 17:11 Destroyed
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ac56ee949d

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread apps/api/src/mappers/delegation-percentage/index.ts
Comment thread apps/api/src/mappers/proposals/onchainProposals.ts Outdated
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 298cc755cd

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread apps/api/src/mappers/delegation-percentage/index.ts
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f8c3ccf365

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread apps/gateful/src/resolvers/delegation/service.ts
@railway-app railway-app Bot temporarily deployed to anticapture-infra / anticapture-pr-1888 May 22, 2026 19:04 Destroyed
@PedroBinotto PedroBinotto merged commit d0bdf5a into dev May 22, 2026
49 of 50 checks passed
@PedroBinotto PedroBinotto deleted the feat/mcp-enhancements branch May 22, 2026 19:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants