outline_validate_connection
Validate Outline API token and connectivity to confirm secure access and readiness for operations.
Instructions
Validate Outline token and API connectivity safely.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/outline_wiki_mcp/server.py:117-121 (handler)MCP tool handler registered as @mcp.tool, delegates to validate_connection()
@mcp.tool(annotations=READ_ONLY) async def outline_validate_connection() -> dict[str, Any]: """Validate Outline token and API connectivity safely.""" return await validate_connection() - src/outline_wiki_mcp/server.py:36-81 (handler)Core validation logic: checks config, calls OutlineClient.validate_connection(), returns success/error response
async def validate_connection(config: Config | None = None) -> dict[str, Any]: """Validate Outline configuration and API connectivity safely.""" runtime_config = config or get_config() if not runtime_config.normalized_base_url: return error_response( "configuration_missing", "OUTLINE_BASE_URL is not configured.", action="Set OUTLINE_BASE_URL to the Outline workspace URL.", blockers=["Missing OUTLINE_BASE_URL"], no_go_gate="configuration_missing", ) if not runtime_config.api_token: return error_response( "configuration_missing", "OUTLINE_API_TOKEN is not configured.", action="Set OUTLINE_API_TOKEN to a valid Outline API token.", blockers=["Missing OUTLINE_API_TOKEN"], no_go_gate="configuration_missing", ) try: async with OutlineClient(runtime_config) as client: payload = await client.validate_connection() except OutlineAPIError as exc: return error_response( exc.error_type, str(exc), action="Verify OUTLINE_BASE_URL, OUTLINE_API_TOKEN, and Outline API permissions.", warnings=[f"statusCode={exc.status_code}"] if exc.status_code else [], no_go_gate="upstream_connection_failed", ) except ValueError as exc: return error_response( "configuration_invalid", str(exc), action="Review OUTLINE_BASE_URL and OUTLINE_API_TOKEN.", no_go_gate="configuration_invalid", ) return success_response( { "connected": True, "baseUrl": runtime_config.normalized_base_url, "outlineResponse": redact_secrets(payload), }, next_action="Use read-only diagnostics or capability report before enabling write-capable tools.", ) - src/outline_wiki_mcp/client.py:156-159 (handler)Client-level method that performs the actual RPC call to Outline's auth.info endpoint
async def validate_connection(self) -> dict[str, Any]: """Run a safe read-only auth/workspace info probe.""" return await self.post_rpc("auth.info") - Capability contract/registry entry for outline_validate_connection tool
TOOL_CONTRACTS: list[dict[str, Any]] = [ { "toolName": "outline_validate_connection", "description": "Validate token and API connectivity safely.", "category": "Diagnostics", "riskClass": "READ_ONLY", "reversibilityClass": "R0", "dataClassification": "internal", "externalEffect": False, "modeExposure": "agentic", "allowedLanes": ["direct_mcp_lane", "investigation_lane"], "allowedOperatingModes": [ "startup", "growth", "mature", "crisis_alert_state_read_only", ], "readOnlySafe": True, "dryRunDefault": None, "requiresConfirmation": False, "requiredApprovalLevel": "none", "requiresApprovalPack": False, "requiresDecisionRecord": False, "productionConfidenceRequired": False, "auditEvents": ["optional_read"], "policyGates": [], "noGoGates": [], "rollbackAvailable": None, "compensationRequired": False, "killSwitchAffected": False, "owner": "CEO", "status": "implemented", "version": __version__, }, - src/outline_wiki_mcp/server.py:101-106 (registration)Tool name listed in diagnostics implementedTools list
"implementedTools": [ "outline_validate_connection", "outline_capability_report", "outline_diagnostics", ], "notImplementedInTask001": [