-
Notifications
You must be signed in to change notification settings - Fork 9
GPT instructions adapted to work with MCP Server 0.10.0 #229
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughIntroduces a new direct_call_endpoint_list.md, restructures GPT docs to reference it, updates gpt/README.md sections, bumps OpenAPI version and constrains direct_api_call query_params to include sender, updates examples, and adjusts tests/evals README to embed the new endpoint list and updated inclusion rules. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor U as User
participant G as GPT
participant T as direct_api_call Tool
participant B as Blockscout API
U->>G: Request requiring raw API data
G->>T: Invoke /direct_api_call<br/>with endpoint + query_params{sender}
note right of T: New/explicit param: query_params.sender
T->>B: HTTP request to curated endpoint<br/>+ deepObject query (sender)
B-->>T: JSON response
T-->>G: Tool result
G-->>U: Final answer using API data
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (2)
gpt/direct_call_endpoint_list.md (1)
19-81
: Unify placeholder naming for addresses.
Mixing{account_address}
and{address}
can confuse downstream agents. Prefer{address}
consistently.Example edits:
-"/api/v2/addresses/{account_address}/beacon/deposits" - "Get Beacon Chain deposits for a specific address." +"/api/v2/addresses/{address}/beacon/deposits" - "Get Beacon Chain deposits for a specific address."Please confirm all listed endpoints are allowed by your server-side allowlist used to validate
direct_api_call
.gpt/README.md (1)
45-45
: Tighten wording for the OpenAPI constraint.
Minor grammar and clarity tweak.-- The specification of the `query_params` parameter for the `direct_api_call` tool is limited to define only `sender` to comply with OpenAPI linter used by OpenAI for API specification validation. +- The `query_params` schema for `direct_api_call` is limited to the `sender` field to comply with the OpenAI OpenAPI linter used for API specification validation.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (5)
gpt/README.md
(2 hunks)gpt/direct_call_endpoint_list.md
(1 hunks)gpt/instructions.md
(2 hunks)gpt/openapi.yaml
(2 hunks)tests/evals/README.md
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
gpt/openapi.yaml
📄 CodeRabbit inference engine (AGENTS.md)
Maintain OpenAPI 3.1 spec for REST endpoints used by GPT actions: keep tool descriptions under 300 chars, modify parameters for compliance (e.g., read_contract), and exclude the unlock_blockchain_analysis endpoint
Files:
gpt/openapi.yaml
gpt/instructions.md
📄 CodeRabbit inference engine (AGENTS.md)
Keep GPT core instructions synced with unlock_blockchain_analysis output; update whenever that tool’s output changes
Files:
gpt/instructions.md
🧠 Learnings (16)
📓 Common learnings
Learnt from: CR
PR: blockscout/mcp-server#0
File: AGENTS.md:0-0
Timestamp: 2025-08-29T22:52:53.439Z
Learning: Applies to gpt/instructions.md : Keep GPT core instructions synced with __unlock_blockchain_analysis__ output; update whenever that tool’s output changes
Learnt from: akolotov
PR: blockscout/mcp-server#203
File: SPEC.md:500-501
Timestamp: 2025-08-14T22:57:36.348Z
Learning: For the blockscout/mcp-server project, SPEC.md should contain concise, high-level descriptions of features rather than detailed technical implementation details. The user akolotov prefers that detailed technical information be discoverable through the code itself rather than extensively documented in the specification file.
Learnt from: CR
PR: blockscout/mcp-server#0
File: AGENTS.md:0-0
Timestamp: 2025-08-29T22:52:53.439Z
Learning: Applies to gpt/openapi.yaml : Maintain OpenAPI 3.1 spec for REST endpoints used by GPT actions: keep tool descriptions under 300 chars, modify parameters for compliance (e.g., read_contract), and exclude the __unlock_blockchain_analysis__ endpoint
📚 Learning: 2025-08-29T22:39:26.155Z
Learnt from: akolotov
PR: blockscout/mcp-server#226
File: tests/evals/GEMINI-evals.md:147-161
Timestamp: 2025-08-29T22:39:26.155Z
Learning: In the blockscout/mcp-server repository, the file tests/evals/GEMINI-evals.md contains instructions specifically for the Gemini CLI coding assistant. JSON examples in this file can include comments for instructional clarity since the AI agent understands to remove comments when generating actual JSON output.
Applied to files:
tests/evals/README.md
gpt/README.md
📚 Learning: 2025-08-29T22:52:53.439Z
Learnt from: CR
PR: blockscout/mcp-server#0
File: AGENTS.md:0-0
Timestamp: 2025-08-29T22:52:53.439Z
Learning: Applies to gpt/instructions.md : Keep GPT core instructions synced with __unlock_blockchain_analysis__ output; update whenever that tool’s output changes
Applied to files:
tests/evals/README.md
gpt/instructions.md
📚 Learning: 2025-08-29T22:52:53.439Z
Learnt from: CR
PR: blockscout/mcp-server#0
File: AGENTS.md:0-0
Timestamp: 2025-08-29T22:52:53.439Z
Learning: Applies to gpt/openapi.yaml : Maintain OpenAPI 3.1 spec for REST endpoints used by GPT actions: keep tool descriptions under 300 chars, modify parameters for compliance (e.g., read_contract), and exclude the __unlock_blockchain_analysis__ endpoint
Applied to files:
tests/evals/README.md
gpt/direct_call_endpoint_list.md
gpt/README.md
gpt/instructions.md
📚 Learning: 2025-08-22T00:10:26.559Z
Learnt from: akolotov
PR: blockscout/mcp-server#207
File: API.md:0-0
Timestamp: 2025-08-22T00:10:26.559Z
Learning: In API.md for the blockscout/mcp-server project, endpoint descriptions should be concise and follow the established pattern of other endpoints. They should not explain different parameter behaviors or how responses differ based on parameters - only provide a brief, high-level description of what the endpoint does.
Applied to files:
gpt/openapi.yaml
📚 Learning: 2025-08-29T22:52:53.439Z
Learnt from: CR
PR: blockscout/mcp-server#0
File: AGENTS.md:0-0
Timestamp: 2025-08-29T22:52:53.439Z
Learning: Applies to blockscout_mcp_server/templates/index.html : Provide a static landing page for the REST API at templates/index.html
Applied to files:
gpt/openapi.yaml
📚 Learning: 2025-08-29T22:52:53.439Z
Learnt from: CR
PR: blockscout/mcp-server#0
File: AGENTS.md:0-0
Timestamp: 2025-08-29T22:52:53.439Z
Learning: Applies to blockscout_mcp_server/api/routes.py : Define REST API endpoints that wrap MCP tools, exposing JSON responses mapped from tool outputs
Applied to files:
gpt/openapi.yaml
📚 Learning: 2025-08-21T04:33:09.906Z
Learnt from: akolotov
PR: blockscout/mcp-server#207
File: dxt/manifest.json:5-5
Timestamp: 2025-08-21T04:33:09.906Z
Learning: In the blockscout/mcp-server repository, the DXT manifest version (dxt/manifest.json) operates independently from the MCP server version (pyproject.toml and blockscout_mcp_server/__init__.py). The manifest version should only be bumped when: (1) the connection method to the server changes, (2) the number of MCP tools changes, or (3) tool descriptions change. The MCP server version tracks implementation changes and follows its own versioning scheme.
Applied to files:
gpt/openapi.yaml
📚 Learning: 2025-08-14T22:57:36.348Z
Learnt from: akolotov
PR: blockscout/mcp-server#203
File: SPEC.md:500-501
Timestamp: 2025-08-14T22:57:36.348Z
Learning: For the blockscout/mcp-server project, SPEC.md should contain concise, high-level descriptions of features rather than detailed technical implementation details. The user akolotov prefers that detailed technical information be discoverable through the code itself rather than extensively documented in the specification file.
Applied to files:
gpt/openapi.yaml
📚 Learning: 2025-08-29T00:45:41.007Z
Learnt from: CR
PR: blockscout/mcp-server#0
File: .cursor/rules/130-version-management.mdc:0-0
Timestamp: 2025-08-29T00:45:41.007Z
Learning: Applies to blockscout_mcp_server/__init__.py : Update the __version__ variable in blockscout_mcp_server/__init__.py when bumping the MCP server version
Applied to files:
gpt/openapi.yaml
📚 Learning: 2025-07-10T23:39:32.034Z
Learnt from: akolotov
PR: blockscout/mcp-server#145
File: .cursor/rules/800-api-documentation-guidelines.mdc:14-35
Timestamp: 2025-07-10T23:39:32.034Z
Learning: In the Blockscout MCP Server project, API documentation in API.md intentionally omits example responses because the responses from Blockscout MCP tools are very large, and including them would make the document size unmanageable.
Applied to files:
gpt/openapi.yaml
📚 Learning: 2025-07-22T00:11:07.554Z
Learnt from: CR
PR: blockscout/mcp-server#0
File: .cursor/rules/000-role-and-task.mdc:0-0
Timestamp: 2025-07-22T00:11:07.554Z
Learning: Applies to **/*.py : The MCP server must wrap Blockscout APIs and expose blockchain data (balances, tokens, NFTs, contract metadata) via the Model Context Protocol (MCP).
Applied to files:
gpt/openapi.yaml
📚 Learning: 2025-08-29T00:45:41.007Z
Learnt from: CR
PR: blockscout/mcp-server#0
File: .cursor/rules/130-version-management.mdc:0-0
Timestamp: 2025-08-29T00:45:41.007Z
Learning: Applies to {pyproject.toml,blockscout_mcp_server/__init__.py} : Follow PEP 440 for the version string format (e.g., 1.2.3 or 1.2.3.dev0)
Applied to files:
gpt/openapi.yaml
📚 Learning: 2025-07-28T21:58:54.503Z
Learnt from: akolotov
PR: blockscout/mcp-server#185
File: blockscout_mcp_server/tools/chains_tools.py:20-20
Timestamp: 2025-07-28T21:58:54.503Z
Learning: API.md documents only the MCP server's own REST API endpoints (e.g., /v1/get_chains_list), not external API endpoints from services like Chainscout that the server consumes internally. Changes to external API endpoints used internally are implementation details and should not be documented in API.md.
Applied to files:
gpt/openapi.yaml
📚 Learning: 2025-08-29T22:52:53.439Z
Learnt from: CR
PR: blockscout/mcp-server#0
File: AGENTS.md:0-0
Timestamp: 2025-08-29T22:52:53.439Z
Learning: Applies to gpt/action_tool_descriptions.md : Maintain detailed MCP tool descriptions; update whenever tools are modified or added
Applied to files:
gpt/README.md
gpt/instructions.md
📚 Learning: 2025-07-22T00:14:25.129Z
Learnt from: CR
PR: blockscout/mcp-server#0
File: .cursor/rules/800-api-documentation-guidelines.mdc:0-0
Timestamp: 2025-07-22T00:14:25.129Z
Learning: Applies to API.md : Whenever a new MCP tool is added or an existing one is modified, its corresponding REST API endpoint in API.md MUST be added or updated.
Applied to files:
gpt/README.md
🪛 LanguageTool
gpt/README.md
[grammar] ~45-~45: There might be a mistake here.
Context: ...mited to define only sender
to comply with OpenAPI linter used by OpenAI for API s...
(QB_NEW_EN)
[grammar] ~49-~49: There might be a mistake here.
Context: ...ed GPT Configuration - Model: GPT-5 - Capabilities: - Web Search - Code ...
(QB_NEW_EN)
[grammar] ~50-~50: There might be a mistake here.
Context: ... - Model: GPT-5 - Capabilities: - Web Search - Code Interpreter and Data...
(QB_NEW_EN)
[grammar] ~51-~51: There might be a mistake here.
Context: ...GPT-5 - Capabilities: - Web Search - Code Interpreter and Data Analysis - C...
(QB_NEW_EN)
[grammar] ~52-~52: There might be a mistake here.
Context: ...h - Code Interpreter and Data Analysis - Canvas ## Known Issues 1. **Block time...
(QB_NEW_EN)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Run Integration Tests
- GitHub Check: Docker build and docker push
🔇 Additional comments (8)
gpt/instructions.md (2)
1-1
: Version bump looks good.
Matches PR intent to adapt for 0.10.0 docs.
24-28
: Prefix filenames in prerequisites with “@” (gpt/instructions.md:24–28)
Change the prerequisites to use@action_tool_descriptions.md
and@direct_call_endpoint_list.md
to match the README’s attachment convention.Apply:
<prerequisites> Before answering any user question, always read: - `action_tool_descriptions.md` - `direct_call_endpoint_list.md` </prerequisites>to
<prerequisites> Before answering any user question, always read: - `@action_tool_descriptions.md` - `@direct_call_endpoint_list.md` </prerequisites>Also confirm these instructions remain synced with the latest
__unlock_blockchain_analysis__
tool output.gpt/openapi.yaml (1)
6-6
: OpenAPI info.version updated to 0.10.0 — OK.
Consistent with the PR title and MCP Server 0.10.0 context.gpt/direct_call_endpoint_list.md (1)
3-17
: Good extraction of advanced endpoints into a separate doc.
Separation reduces instruction size and keeps the list maintainable.tests/evals/README.md (1)
60-64
: Assembly order and inclusions look correct.
Excluding<role>
and<prerequisites>
and injecting<direct_call_endpoint_list>
aligns with the new docs split.gpt/README.md (3)
19-22
: “Extra files” section — clear and useful.
Explains why the split exists given GPT token limits.
23-34
: Maintenance notes are good; mirror file names in instructions.
Ensuregpt/instructions.md
references the “@”-prefixed names to match this README.
53-54
: Canvas capability addition — OK.
Accurately reflects current GPT feature set.
Summary by CodeRabbit
New Features
Documentation
Tests