Initial commit: SIC harness (backend, web, pi-adapter, configs, docs)
- pnpm monorepo: apps/api (Fastify + SQLite + SSE), apps/web (React+Vite), packages/shared, packages/pi-adapter - Local auth (admin/webhook-runner roles) + Keycloak JWT ready - Multi-session chat with reliable history (user persisted before LLM, assistant persisted after stream) - Markdown knowledge base with /api/docs/search + /api/docs/:id - YAML webhook catalog with backend-only execution, retry/backoff, audit (webhook_runs), and per-user rate limit - Skills config (sre-on-call, blameless-postmortem, security-incident) injected into LLM system prompt - LLM provider failover chain (config/models.yml fallback + LLM_FALLBACK_CHAIN override) - Context-aware webhooks panel + backend id-mention safety net - Per-message stats (time/duration/tokens/model), Markdown+GFM render, code & table copy/download buttons - Vitest suite, end-to-end smoke test (scripts/smoke.mjs), per-session system prompt override - /metrics Prometheus endpoint + /api/metrics JSON, request-id correlation - dotenv with explicit repo-root path; envString/envNumber helpers (handles empty-string env) - Runbooks + SOPs under knowledge/ in English; README, docs, and INDEX.md in English
This commit is contained in:
75
config/mcp.yml
Normal file
75
config/mcp.yml
Normal file
@@ -0,0 +1,75 @@
|
||||
# MCP (Model Context Protocol) tool catalog.
|
||||
#
|
||||
# Phase 1: this is a DECLARATIVE catalog of available tools. The SIC backend
|
||||
# does NOT call any MCP server directly. The LLM sees these tools in its
|
||||
# context (so it can reason about what's possible) and the right panel
|
||||
# renders them as recommendations that the user can inspect. Execution is
|
||||
# reserved for the future MCP runtime, which will run a per-request MCP
|
||||
# client; for now every tool here is "inspect only".
|
||||
#
|
||||
# Each tool:
|
||||
# id stable identifier
|
||||
# name human-readable label
|
||||
# description what the tool does (sent to the LLM verbatim)
|
||||
# server optional reference to a configured MCP server (Phase 2+)
|
||||
# parameters JSON Schema for the tool arguments
|
||||
# tags free-form tags for filtering
|
||||
# enabled whether the tool is exposed at all
|
||||
mcp_servers: []
|
||||
|
||||
mcp_tools:
|
||||
- id: kb.search
|
||||
name: Search knowledge base
|
||||
description: |
|
||||
Search the internal knowledge base (runbooks, SOPs, architecture docs) for
|
||||
documents relevant to the query. Returns matching document ids and
|
||||
relevance scores. Does NOT execute anything.
|
||||
server: null
|
||||
parameters:
|
||||
type: object
|
||||
required: [query]
|
||||
properties:
|
||||
query:
|
||||
type: string
|
||||
description: Natural-language search query.
|
||||
limit:
|
||||
type: integer
|
||||
minimum: 1
|
||||
maximum: 20
|
||||
description: Maximum results to return. Defaults to 5.
|
||||
tags: [search, knowledge, docs]
|
||||
enabled: true
|
||||
- id: sessions.list
|
||||
name: List recent chat sessions
|
||||
description: |
|
||||
List the calling user's most recent chat sessions, ordered by updated_at
|
||||
descending. Does NOT execute anything; returns metadata only.
|
||||
server: null
|
||||
parameters:
|
||||
type: object
|
||||
required: []
|
||||
properties:
|
||||
limit:
|
||||
type: integer
|
||||
minimum: 1
|
||||
maximum: 50
|
||||
description: Maximum sessions to return. Defaults to 10.
|
||||
tags: [sessions, listing]
|
||||
enabled: true
|
||||
- id: webhooks.usage
|
||||
name: Webhook usage stats
|
||||
description: |
|
||||
Return per-webhook usage stats for the calling user over a recent time
|
||||
window (defaults to 7 days). Read-only.
|
||||
server: null
|
||||
parameters:
|
||||
type: object
|
||||
required: []
|
||||
properties:
|
||||
days:
|
||||
type: integer
|
||||
minimum: 1
|
||||
maximum: 90
|
||||
description: Window in days. Defaults to 7.
|
||||
tags: [webhooks, audit, read-only]
|
||||
enabled: true
|
||||
Reference in New Issue
Block a user