Task 1
Register a client
Create an Organization-scoped MCP client and retain its one-time secret securely.
Permission boundary
mcp_clients.manage.organizationSteps
- 1Register the client through the API or repository-local CLI.
- 2Store the returned client secret in the caller's credential vault.
- 3Send the client identifier and Bearer secret on MCP requests.
- 4Revoke the client when its owner or use case changes.
Registration surfaces
GraphQL mutation: registerMcpClient
pnpm decision-log mcp clients register
Endpoint: https://www.decisionlog.ai/api/mcpRegistration and revocation are audited. Plaintext client secrets are returned only at creation.
Task 2
MCP tools
Discover Decision Log as a Streamable HTTP MCP server before invoking permission-scoped tools.
Steps
- 1Read the public server manifest to discover the current endpoint and required headers.
- 2Use OAuth protected-resource metadata when the client supports the authorization flow.
- 3Prefer read tools first; creation and supersession tools enforce the same permissions and audit rules as GraphQL.
- 4Treat extraction output as reviewable DecisionCandidates unless trusted policy explicitly allows otherwise.
Discovery
GET https://www.decisionlog.ai/.well-known/mcp.json
GET https://www.decisionlog.ai/.well-known/oauth-protected-resource/api/mcp
POST https://www.decisionlog.ai/api/mcpThe manifest is the source for the current remote URL and required transport headers.
Task 3
Audit Agent actions
Keep the registered MCP client, Agent Actor, permission decision, and resulting product action attributable.
Permission boundary
audit_events.read.organization to list raw audit eventsSteps
- 1Register clients and Agents under the owning Organization.
- 2Use scoped credentials rather than a shared human session.
- 3Review append-only audit events for meaningful reads, writes, denials, and MCP invocation context.
- 4Investigate the source and supersession chain before accepting an agent-produced answer as current.
Audit access
GraphQL query: auditEvents
pnpm decision-log audit list --action mcp_tool.invoked --limit 25
MCP tool: decision_log.list_audit_events
MCP app: decision_log.render_audit_explorerGraphQL, the repository-local CLI, and the structured MCP tool use the same permission-aware audit projection. The MCP audit explorer remains the visual review surface.
