feat(mcp): add MCP stdio server with access-level gated tools)#305
Open
123yongming wants to merge 3 commits intovolcengine:mainfrom
Open
feat(mcp): add MCP stdio server with access-level gated tools)#305123yongming wants to merge 3 commits intovolcengine:mainfrom
123yongming wants to merge 3 commits intovolcengine:mainfrom
Conversation
- Update _optional_int to exclude bool type (isinstance bool is int subclass) - Add parametrized tests for limit/offset with true/false values - Add MCP server module and CLI mcp command - Update README with MCP server documentation
- Add four-tier access level model: readonly < ingest < mutate < admin - Expose session, relation, filesystem, and pack tools gated by level - Register backward-compatible alias openviking_add_resource -> openviking_resource_add - CLI: --enable-write maps to --access-level mutate for compatibility - Tests: all 45 MCP tests pass (3 skipped, 0 failed)
|
|
Collaborator
|
thx. I will look into this feature. If that’s true mcp http mode is better to share agfs resource. But http mode mcp server is implemented on top of ov server. |
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.
Description
This PR introduces OpenViking MCP Server V1 support in embedded mode (
stdiotransport), including:readonly/ingest/mutate/admin)openviking mcpwith--access-leveland compatibility flag--enable-writeIt also improves argument validation in MCP tool dispatch (e.g. rejecting boolean values for integer fields).
Related Issue
N/A
Type of Change
Changes Made
openviking/mcp/__init__.pyopenviking/mcp/permissions.pyopenviking/mcp/server.pyopenviking/mcp/tools.pyopenviking_cli/cli/commands/mcp.pyopenviking_cli/cli/commands/__init__.pypyproject.toml([project.optional-dependencies].mcp)tests/mcp/test_tools.pytests/mcp/test_server.pytests/mcp/test_protocol_stdio.pytests/cli/test_cli.pytests/cli/conftest.pyREADME.mdREADME_CN.mdTesting
Notes:
python -m py_compile.pytestexecution was not completed in this environment (missing pytest dependency); CI is expected to validate lint/test suite.Checklist
Screenshots (if applicable)
N/A
Additional Notes