Banking RAG MCP Server
Allows explicit single-file ingestion and automatic webhook-based re-indexing of Markdown documents and UAT workbooks from a configured GitHub repository.
Provides banking document evidence retrieval from a Supabase pgvector database, enabling semantic vector search, document-type filtering, and exact requirement lookups.
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., "@Banking RAG MCP ServerSearch BRD evidence for transaction reference validation requirements"
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.
Banking RAG MCP Server!
Cloud-ready MCP server for retrieving banking document evidence from Supabase pgvector. It uses Gemini embeddings and does not generate RCA conclusions. It also supports explicit single-file ingestion from GitHub.
Verified embedding contract
The official Gemini embeddings documentation lists gemini-embedding-2 as stable. It supports configurable 768, 1536, or 3072 dimensions. This project explicitly uses 1536 dimensions for both query and document embeddings. EMBEDDING_DIMENSION is validated accordingly, and the SQL migration uses vector(1536). Existing vectors must be re-embedded when changing models because embedding spaces are incompatible.
Related MCP server: MCP Knowledge Base Server
Setup
npm install
copy .env.example .env
npm run build
npm testFill .env with real credentials, apply supabase/migrations/001_banking_rag.sql, then run:
npm start
curl http://localhost:3000/health
npm run test:integrationtest:integration generates a real Gemini embedding, checks Supabase connectivity, and performs a real vector search. With an empty database it reports zero results and never fabricates evidence.
Deployment
Configure these environment variables in the deployment platform's service settings before using /mcp:
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
GEMINI_API_KEY=your-gemini-api-keyThe server binds to 0.0.0.0 and uses the platform-provided PORT value. It can start without secrets so platform health checks succeed; /mcp returns 503 and identifies the missing variables until the service is configured.
Apply supabase/migrations/002_retrieval_filters.sql after the original migration before using document-type filters or exact requirement lookup. It preserves the 0.70 similarity threshold and cosine/HNSW retrieval, adds server-side BRD/RCA filtering, and adds the exact get_requirement_chunks RPC.
Apply supabase/migrations/003_uat_observations.sql for UAT ingestion. It creates dedicated uat_observations and uat_observation_evaluations tables; UAT rows remain structured and are not embedded into the BRD/RCA vector index.
GitHub ingestion
Add these variables to .env:
GITHUB_TOKEN=your-github-token
GITHUB_OWNER=your-github-owner
GITHUB_REPO=your-github-repository
GITHUB_BRANCH=main
EXPECTED_GITHUB_PATH=documents/BRD/transaction-reference.mdIndex one Markdown file:
npm run ingest -- documents/BRD/transaction-reference.mdThe command fetches the file through GitHub's Contents API, detects BRD or RCA, computes a SHA-256 content hash, creates Markdown-aware chunks, generates one 1536-dimensional Gemini embedding per chunk, upserts the document, replaces old chunks when content changes, and verifies the stored chunk count and vector dimensions. Running it again with unchanged content skips duplicate insertion.
To verify semantic retrieval against the indexed source, set EXPECTED_GITHUB_PATH and run:
npm run test:integrationGitHub Webhook
POST /webhook/github automatically re-indexes changed Markdown documents and ingests changed UAT workbooks from the configured GitHub documentation repository. It verifies the GitHub HMAC SHA-256 signature, repository, and branch before calling the existing ingestion pipeline.
Required variables:
GITHUB_WEBHOOK_SECRET=your-github-webhook-secret
GITHUB_OWNER=your-github-owner
GITHUB_REPO=your-github-repository
GITHUB_BRANCH=mainSupported: documents/**/*.md under documents/BRD/ or documents/RCA/, plus .xlsx workbooks under documents/UAT/.
Store QA workbooks using a predictable path such as documents/UAT/2026/login/UAT_Observation_Report_TC-LOGIN-001.xlsx. The workbook parser discovers sheets and header rows, skips blank rows, validates observation ID/expected behavior/actual behavior, preserves sheet and source row metadata, and stores historical outcome columns separately as evaluation metadata. Repeated unchanged rows are skipped; changed rows are updated by source path and observation ID.
Ignored for now: .csv, .docx, and .pdf. Removed files are reported as deletion_not_supported because the current Supabase layer does not provide safe deletion.
MCP
The Streamable HTTP endpoint is POST /mcp. It exposes exactly three business-facing tools:
search_banking_knowledge: semantic evidence search withquery, optionaltopK(1-10), and optionaldocumentType(BRDorRCA).get_banking_requirement: exact lookup byrequirementId, using the Supabase requirement RPC.search_previous_rca: semantic RCA-only search withqueryand optionaltopK(1-10).
Responses contain grounded evidence only. API keys, the service-role key, and the GitHub token are never included in MCP responses or ingestion logs. test:mcp independently starts the server and verifies health, tool discovery, all three tools, filtering, missing requirements, and invalid inputs over Streamable HTTP.
MCP Integration
Endpoint: POST /mcp
Health: GET /health
The server binds to 0.0.0.0 with the configurable PORT value and can be consumed by an external MCP client using Streamable HTTP. Clients should send an MCP initialize request, call tools/list, then invoke only the three business tools above. The MCP layer returns grounded retrieval evidence and does not generate RCA conclusions.
Retrieval evaluation
After indexing the test BRD/RCA documents and applying migration 002, run:
npm run test:evaluationThe suite runs eight realistic queries, applies document-type filters, reports actual Supabase similarity scores, and verifies TRX-REF-001 plus a clean not-found result for NONEXISTENT-999.
Next steps
Automatic webhooks, scheduled synchronization, bulk repository indexing, Multica Cloud integration, remote MCP authentication, cloud deployment, and final RCA generation remain out of scope. The current ingestion command intentionally indexes one explicit Markdown path at a time.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
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 Connectors
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Ingest, manage, and retrieve documents for RAG-powered AI applications
- RevelicaOAuthcom.revelica
Product intelligence for AI agents — query a Revelica workspace's ideas, specs, and research.
Certified SEC EDGAR fact memory for AI agents with zero hallucination and filing provenance.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context.7221MIT
- FlicenseBqualityDmaintenanceProvides semantic search and data retrieval capabilities over a knowledge base with multiple tools including keyword search, category filtering, and ID-based lookup with in-memory caching.5-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to query and manage company knowledge from a Supabase GraphRAG store, including accounts, meetings, people, org hierarchy, product docs, and call logs.20AGPL 3.0
- FlicenseNot gradedqualityBmaintenanceEnables agents to search SEC filings, earnings transcripts, and EU regulations with ready-to-cite evidence, including exact passages and source links.-
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/Mohd-FaiZ-Jr/supabase-rag-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server