Credit Risk Copilot
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Credit Risk CopilotWhat's the total exposure by credit rating?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Credit Risk Copilot
A natural-language interface to a credit risk database. A user asks a question in English. The service returns a validated answer, a chart, and the SQL it ran.
The point of the project is not the SQL generation. The point is the boundary that decides which SQL is allowed to run.
Status
Scaffolded 2026-08-05. No agent yet. No database yet. The preflight check runs.
Related MCP server: Claims Data MCP Server
Requirements
Need | Version | State on this machine |
Python | 3.12 | installed |
Docker Desktop | any current | installed |
Terraform | 1.x | not installed |
AWS CLI | v2 | not installed |
Use Python 3.12, not 3.13. The 3.13 interpreter is ahead of the ML ecosystem, and a package that ships compiled wheels can lag the interpreter by a year.
How to run it
Create the virtual environment:
py -3.12 -m venv .venvActivate it:
.venv\Scripts\activate.batUse the
.batfile. PowerShell blocksActivate.ps1under the default execution policy.Copy the example environment file:
copy .env.local.example .env.localOpen
.env.localand setDEEPSEEK_API_KEY.Run the preflight check:
py -3.12 -m app.doctorThe check imports only the standard library, so it runs before step 6.
Install the dependencies:
pip install -r requirements.txt
Environment variables
.env.local holds every secret. The file is gitignored. Never commit it. If a key reaches a
commit, rotate the key, because removal of the commit does not undo the exposure.
Variable | Required | Purpose |
| yes, for DeepSeek | The API key |
| no | Defaults to |
| no |
|
| no | The local fallback. Needs no key |
| yes | The Postgres connection string |
| no | Tracing. The app runs without it |
The model names changed. DeepSeek retired deepseek-chat and deepseek-reasoner on
2026-07-24. Calls to those names no longer route anywhere. Use deepseek-v4-flash or
deepseek-v4-pro. Both app/doctor.py and app/llm/client.py refuse a retired name and say why.
The architecture rule
app/guardrails/sql_check.py runs on the tool side of the MCP boundary. The agent never calls it.
The agent writes SQL. The MCP tool owns the database connection. The tool validates the SQL before it executes anything. This order matters: a check inside the agent's own code path is skipped by any input that redirects the agent, so such a check is a suggestion and not a control.
The full reasoning is in brain/decisions/2026-08-05-sql-guardrails-live-behind-the-mcp-boundary.md.
What the guardrail refuses
Rule | Reason |
Anything except one | A write reaches the database only through a migration |
A table absent from the allowlist | A new table is denied by default, not allowed by oversight |
A column absent from the allowlist | Column-level control, not table-level |
| The caller must name the columns it needs |
A missing or oversized | One question cannot return the whole table |
Layout
app\
doctor.py preflight check, standard library only
llm\client.py one factory for DeepSeek and Ollama
guardrails\ SQL validation, called by the tool, never by the agentCost
deepseek-v4-flash costs $0.14 per million input tokens on a cache miss. A cache hit costs
$0.0028 per million, which is a 98% discount.
The schema prompt is identical on every call. Put the schema at the front of the prompt and never reorder it, so every call after the first is a cache hit.
Related notes
brain/projects/credit-risk-copilot.md- status, open questions, and the logbrain/decisions/2026-08-05-sql-guardrails-live-behind-the-mcp-boundary.mdbrain/decisions/2026-08-05-python-for-credit-risk-copilot.md
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityBmaintenanceEnables LLM clients to query SQL databases via natural language with read-only, AST-validated, and capped queries, ensuring safety guarantees.Last updated2MIT
- Flicense-qualityBmaintenanceEnables natural language querying of healthcare claims data by exposing a SQLite database with read-only SQL tools, allowing users to ask questions in plain English and get answers backed by real database queries.Last updated
- Alicense-qualityAmaintenanceRead-only Text-to-SQL MCP server for PostgreSQL and MySQL that lets users query databases using natural language, with robust multi-layer safety guarantees against writes.Last updated21MIT
- Flicense-qualityCmaintenanceEnables natural language querying of SQL databases with robust safety guarantees including read-only enforcement, AST validation, and row caps.Last updated
Related MCP Connectors
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
The grounded data layer for any LLM: governed SQL, metrics, lineage and catalog over your data.
Read-only bank access for your AI agent. Connects Claude, ChatGPT, Cursor, Gemini, Codex.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/SyakeerRahman/credit-risk-copilot'
If you have feedback or need assistance with the MCP directory API, please join our Discord server