feat: add Do Better Norge MCP server — token system, runtime API, interactive setup page
- UserMcpTokens: per-user SHA256-hashed token mint/validate/revoke (Plus/Pro only) - DbnMcpRuntime: 19 MCP tools (search, ask, summarize, timeline, redact, translate, legal_analysis, korrespond, barnevernet_analyze, advocate_brief, deep_research, discrepancy_find, transcribe_audio, corpus_stats, list_documents, get_document, citation_graph, case_workbench_plan, save_to_case) - api/mcp/user/: session/tools/invoke HTTP endpoints with Bearer token auth - api/mcp-tokens.php: token create/revoke/list REST API - mcp.php: interactive setup page with token management, 5-client config tabs, auto-fill on token creation, tool catalog grid, privacy notice - account.php: simplified MCP section with link to mcp.php - nav.php: MCP nav link - .htaccess: Authorization header passthrough, MCP route rewrite, CORS Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+12
@@ -177,6 +177,18 @@ window.DBN_TOOLS_LANG = <?= json_encode($uiLang, JSON_UNESCAPED_UNICODE) ?>;
|
||||
<?php endif; ?>
|
||||
</section>
|
||||
|
||||
<?php if ($isSso && $detail && in_array((string)($detail['tier'] ?? 'free'), ['plus', 'pro'], true)): ?>
|
||||
<section class="account-section">
|
||||
<p class="account-section__title">MCP access</p>
|
||||
<p style="color:var(--muted,#667085); font-size:0.88rem; margin-top:0;">
|
||||
Connect Claude, Cursor, and other AI tools to all 19 DBN legal preparation tools via MCP.
|
||||
</p>
|
||||
<a href="/mcp.php" class="account-upgrade-btn" style="display:inline-block; text-decoration:none; margin-top:0.75rem;">
|
||||
Set up MCP →
|
||||
</a>
|
||||
</section>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($detail): ?>
|
||||
<!-- ── Usage ────────────────────────────────────────────────── -->
|
||||
<section class="account-section">
|
||||
|
||||
Reference in New Issue
Block a user