Skip to content

Conversation

@beonde
Copy link
Member

@beonde beonde commented Jan 17, 2026

Summary

Adds comprehensive documentation for the server registration module (registration.py), which enables MCP servers to establish verifiable identities through the CapiscIO registry.

Changes

API Reference (docs/api-reference.md)

  • Added Registration Module section documenting all public functions
  • Included async/sync API examples for generate_server_keypair, register_server_identity, setup_server_identity

New Guide (docs/guides/server-registration.md)

  • Step-by-step guide for server identity setup
  • Prerequisites (capiscio-core, registry account, API key)
  • Quick start with one-liner setup_server_identity()
  • Detailed breakdown of keypair generation and registration steps
  • Error handling patterns
  • Security best practices (key storage, file permissions)

Updated Index (docs/index.md)

  • Added "Server Registration" feature card alongside existing features

README Updates

  • Added Quickstart 3: Server Registration section
  • Added Registration API section under MCP Guard Tools
  • Updated documentation links

Package Updates (capiscio_mcp/__init__.py)

  • Updated docstring with Server Registration quickstart
  • All 8 registration exports properly documented

Server Enhancement (capiscio_mcp/server.py)

  • Added quick path for DECLARED_PRINCIPAL state to support badge-less DID disclosure scenarios (RFC-007 §4.2)

Test Suite (tests/test_registration.py)

  • 642 lines of comprehensive tests
  • Covers keypair generation, registration, error handling, network errors

RFC Alignment

  • RFC-006: MCP Tool Authority (guard functionality)
  • RFC-007: MCP Server Identity (registration workflow)

Testing

All 270 tests pass:

======================= 270 passed, 21 skipped in 0.68s ========================

Related

  • Links to capiscio-docs integration PR (pending)

BREAKING CHANGE: Trust level naming corrected to match RFC-002 v1.4.

Before (incorrect):
- Level 1: DV (Domain Validated)
- Level 2: OV (Organization Validated)
- Level 3: EV (Extended Validation)
- Level 4: CV (Continuous Validation) ← doesn't exist in RFC

After (correct per RFC-002 v1.4):
- Level 1: REG (Registered)
- Level 2: DV (Domain Validated)
- Level 3: OV (Organization Validated)
- Level 4: EV (Extended Validated)

Integer values (0-4) unchanged - this is a naming/documentation fix only.
The actual verification logic was already correct.

Files updated:
- capiscio_mcp/types.py: TrustLevel enum docstring and comments
- README.md: Trust level table
- docs/index.md: Trust level table
- docs/getting-started/quickstart.md: Trust level table
- docs/guides/server-side.md: Code comment (CV → EV)

Refs: RFC-002 v1.4 §5 Trust Levels
- Add registration module to API reference
- Create server-registration.md guide
- Update index.md with registration feature
- Update README.md with Quickstart 3 and Registration API
- Update mkdocs.yml with registration guide in nav
- Add registration exports to __init__.py docstring
- Add server.py early-return for DECLARED_PRINCIPAL state
The capiscio CLI uses --version, not 'version' subcommand
The _caller_badge is a ContextVar, not a function, so patch() with
return_value does not work. The mock RPC response already provides
all needed data, so these patches were unnecessary.
The test_calls_download_binary test was failing because the CI
environment has CAPISCIO_BINARY_PATH set, which causes ensure_binary
to return early without calling download_binary. The fix clears the
environment dictionary to ensure the download path is taken.
@github-actions
Copy link

✅ Integration tests passed! capiscio-core gRPC tests working.

@beonde beonde merged commit 195b45b into main Jan 18, 2026
10 checks passed
@beonde beonde deleted the feature/registration-module-docs 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