MCP server exposing the Modern-Expo virtual Business Analyst Knowledge Base (read/derive tools).
Project description
ba-agent-mcp
An MCP server that exposes the Modern-Expo
virtual Business Analyst Knowledge Base as a small set of read / derive
tools. It never writes to SUPPA Docs or the Knowledge Base and is deliberately
kept off the governed write path — authoring documents goes through the
human-gated business-analyst skill, not this server.
Install
uvx ba-agent-mcp # run on demand in an isolated environment (recommended)
# or
pip install ba-agent-mcp # then run: ba-agent-mcp
Credentials — you supply your own
This package ships no credentials. Each user provides their own keys and their own SUPPA identity. Nothing is ever read from the MCP client JSON config; secrets are resolved from the environment, in this order:
- real environment variables in the launching shell, then
- an explicit env file at
$BA_AGENT_ENV_FILE, then ~/.ba-agent/.env
# ~/.ba-agent/.env (or export these in your shell)
SUPABASE_URL=https://<your-project>.supabase.co
SUPABASE_SERVICE_ROLE_KEY=... # or SUPABASE_ANON_KEY for read-only
SUPPA_API_KEY=... # your own SUPPA identity (or SUPPA_TOKEN)
GEMINI_API_KEY=... # optional — enables hybrid (vector) search
FIGMA_TOKEN=... # optional — enables analyze_figma
Never put any secret in the MCP client JSON. A tool whose credentials are absent returns a clear, structured error instead of failing the server, so you can add capabilities incrementally.
Connect (any MCP client)
{
"mcpServers": {
"ba-agent": {
"command": "uvx",
"args": ["ba-agent-mcp"],
"env": { "BA_AGENT_ENV_FILE": "/absolute/path/to/your/.env" }
}
}
}
Tools
| Tool | Returns |
|---|---|
kb_search |
Ranked KB hits with provenance (title, breadcrumb, SUPPA anchor, data_class). |
kb_assemble_context |
A cited grounding block for a question + coverage + strictest data_class. |
kb_assemble_corpus |
The whole project corpus grouped by document, for cross-corpus analysis. |
kb_list_docs |
Inventory of governed documents in a project (reads SUPPA under your own identity). |
analyze_figma |
A structured design profile of a Figma file (requires FIGMA_TOKEN). |
Data governance
The KB read tools connect with the Supabase service-role key, which bypasses
row-level security, so they fail closed at the application layer: any chunk
that is not explicitly data_class = 'internal' is excluded from results.
Consequence — client-classed content is not readable over MCP. The
append-only logs never contain document bodies, only ids, hashes, identity, and
HTTP status.
Proprietary — Modern-Expo internal tooling. All rights reserved.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ba_agent_mcp-0.2.0.tar.gz.
File metadata
- Download URL: ba_agent_mcp-0.2.0.tar.gz
- Upload date:
- Size: 155.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30de1c0ea64c037f1664bfd7d9de4b0a5c8e10ef386c2d8b017a3aa620676795
|
|
| MD5 |
3e85242c6a3d3ffe0f6e72899eec0bde
|
|
| BLAKE2b-256 |
21654280d391f0238cd23ef8c0de0d85ba8d3db9a54902af2192406384a45ea7
|
File details
Details for the file ba_agent_mcp-0.2.0-py3-none-any.whl.
File metadata
- Download URL: ba_agent_mcp-0.2.0-py3-none-any.whl
- Upload date:
- Size: 185.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f26a45fbf877e8544b1f3044e556bc72dec75780ac352d0367a7a38b513a94f2
|
|
| MD5 |
588e969cec931169704ce48d9d8c1778
|
|
| BLAKE2b-256 |
48cf405ec608fd0736026747cbfc71de6082eca2843411beb0ad3cf671011d28
|