Skip to content

Conversation

@beonde
Copy link
Member

@beonde beonde commented Jan 17, 2026

Summary

Adds gRPC client support for the MCP service, enabling Python SDK users to generate server keypairs for MCP server identity.

Changes

gRPC Client (capiscio_sdk/_rpc/client.py)

  • Added generate_server_keypair() method
  • Added generate_server_keypair_sync() for synchronous usage
  • Returns MCPKeypairResponse with public/private keys and DID

Generated Protobuf (capiscio_sdk/_rpc/gen/capiscio/v1/)

  • Added mcp_pb2 imports
  • Updated all pb2 files with latest protobuf generation

Documentation

  • Added docs/guides/mcp.md - MCP service usage guide
  • Updated docs/api-reference.md with MCP client methods
  • Updated mkdocs.yml navigation

Tests

  • Added tests/integration/test_mcp_service.py for MCP service integration tests

Testing

Unit tests: 189 passed, 7 pre-existing failures (same as main)

============ 7 failed, 189 passed, 1 skipped, 254 warnings in 2.75s ============

Note: Pre-existing failures in test_agent_card.py, test_certificate.py, test_pop_badge.py exist on main branch.

Dependencies

Related

- Add MCP service client methods to _rpc/client.py
- Add mcp_pb2 imports to gen/__init__.py
- Update protobuf generated files for MCP service
- Add docs/guides/mcp.md guide
- Add integration tests for MCP service
- Update API reference and mkdocs nav
Copilot AI review requested due to automatic review settings January 17, 2026 23:49
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request adds gRPC client support for the MCP (Model Context Protocol) service, enabling Python SDK users to evaluate tool access (RFC-006) and verify server identity (RFC-007).

Changes:

  • Added MCPClient class to capiscio_sdk/_rpc/client.py with methods for tool access evaluation and server identity verification
  • Added integration tests in tests/integration/test_mcp_service.py covering MCP service functionality
  • Added comprehensive documentation in docs/guides/mcp.md and updated docs/api-reference.md
  • Updated protobuf imports in __init__.py and regenerated existing pb2 files with newer protobuf version (6.33.4)

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
capiscio_sdk/_rpc/client.py Added MCPClient class with evaluate_tool_access, verify_server_identity, parse_server_identity_http/jsonrpc, and health methods
capiscio_sdk/_rpc/gen/capiscio/v1/__init__.py Added imports for mcp_pb2 and mcp_pb2_grpc modules
capiscio_sdk/_rpc/gen/capiscio/v1/*_pb2.py Updated protobuf generated files from version 6.33.2 to 6.33.4
tests/integration/test_mcp_service.py Added comprehensive integration tests for MCP service with 25 test cases covering tool access, server verification, parsing, and error handling
docs/guides/mcp.md Added new MCP security integration guide (521 lines)
docs/api-reference.md Updated API reference to include MCPClient and expanded documentation for other RPC clients
mkdocs.yml Added MCP Security guide to navigation

- Add Generator return type annotation to start_badge_keeper in badge.py
- Add Generator return type annotation to start_keeper in client.py
- Fix Google-style docstring format for Yields section
- Configure mkdocstrings options for better compatibility
@github-actions
Copy link

✅ Documentation validation passed!

Unified docs will be deployed from capiscio-docs repo.

These files were ignored by .gitignore but are required for MCP service support.
Copilot AI review requested due to automatic review settings January 18, 2026 00:33
@github-actions
Copy link

✅ Documentation validation passed!

Unified docs will be deployed from capiscio-docs repo.

@github-actions
Copy link

✅ All checks passed! Ready for review.

@codecov
Copy link

codecov bot commented Jan 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 17 out of 17 changed files in this pull request and generated 3 comments.

The test_mcp_service.py tests require capiscio-core gRPC server running
on localhost:50051, which is not set up in the Docker Compose integration
test environment. These tests are better suited for E2E testing with
full infrastructure.
@github-actions
Copy link

✅ Documentation validation passed!

Unified docs will be deployed from capiscio-docs repo.

@github-actions
Copy link

✅ All checks passed! Ready for review.

@github-actions
Copy link

✅ Integration tests passed! Server validation, BadgeKeeper, and gRPC tests all working.

@beonde beonde merged commit f1ceaa8 into main Jan 18, 2026
13 checks passed
@beonde beonde deleted the feature/mcp-service-client branch January 18, 2026 01:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants