Repository navigation
Add MCP tools for links, applications, and feeds - #169
Merged
Merged
Conversation
ruibaby
marked this pull request as ready for review
October 10, 2026 15:14
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Expose link management through 26 MCP tools, allowing AI clients to manage links and groups, review link applications, and read or manage feed items through the plugin's existing business services.
All tools include Chinese Console titles and descriptions, explicit input and output schemas, and operation annotations. MCP Server enforces per-key tool allowlists. Application responses omit applicant email and commenter identity fields.
The tools reuse existing approval, verification, fetching, and feed services. Updates preserve omitted fields, batch operations require an explicit scope and return per-item results, and link checks return acceptance of asynchronous work. Usage and behavior are documented in dev/mcp.md.
Compatibility
MCP Server is optional. To use these tools, install MCP Server >=1.3.0 and <2.0.0; version 1.3.0 provides the custom category API used by the three groups above.
Compile and test dependencies use the released
run.halo.mcpserver:api:1.3.0artifact from Maven Central. Providers are registered conditionally, and the plugin JAR does not bundle MCP API or SDK classes. The links plugin can start without MCP Server installed.Validation
./gradlew clean buildpassed against the published API 1.3.0: all 452 backend tests passed, including 83 MCP tests. CI passed on the latest commit.git diff --checkpassed./mcpin 49 calls, with 60 checks and 40 successful-response schema validations. Confirmed the 6/6/14 category counts and startup without MCP Server. Temporary test resources and keys were cleaned up.Runtime checks used the MCP Server test build, not the released 1.3.0 server. Network-fetch success paths remain unverified because the test container resolves public domains to proxy Fake-IP addresses blocked by Halo's secure HTTP client; the runtime checks include expected failure paths.