arch-insight-mcp
A Model Context Protocol server for ARCH-Insight. It lets ChatGPT, Claude, Gemini CLI and other MCP clients search fact sheets, applications, helpdesk tickets, tasks, monitoring incidents and finance transactions, and make a few clearly named changes (open or reply to a ticket, create a task, acknowledge an incident, book a transaction, issue or send an e-invoice). Nothing is deleted through it.
Install and sign in (local, stdio)
uvx arch-insight-mcp login # email + password; saves a refresh token
uvx arch-insight-mcp # runs the stdio server
login stores the session in ~/.config/arch-insight/mcp-session.json
(%APPDATA%\arch-insight\ on Windows, mode 0600). Accounts that sign in with
Google can paste a refresh token instead:
arch-insight-mcp login --refresh-token-stdin.
Alternatively set ARCH_REFRESH_TOKEN, or ARCH_ACCESS_TOKEN for a
short-lived access token. ARCH_API_URL selects a self-hosted deployment.
For automation, set ARCH_API_KEY to a personal API key (ai_live_…, created
under Account → API keys). It is sent as Authorization: Bearer like an access
token, works for one organisation, and only for what its scopes allow (read,
finance:write, finance:invoice); a tool outside those scopes fails with the
API's explanation. ARCH_API_KEY wins over the other variables. Over HTTP a
client may present an API key as its bearer token too.
Clients
- Claude Code:
/plugin marketplace add ARCH-Insight/claude-plugin, then/plugin install arch-insight@arch-insight— orclaude mcp add arch-insight -- uvx arch-insight-mcp. - Claude Desktop: add to
claude_desktop_config.json:{"mcpServers": {"arch-insight": {"command": "uvx", "args": ["arch-insight-mcp"]}}} - Gemini CLI: install the extension from the release archive
(
gemini-extension.tar.gz) orgemini extensions install <repo-url>.
Remote (Streamable HTTP, for ChatGPT)
docker run -p 8000:8000 \
-e ARCH_MCP_PUBLIC_URL=https://mcp.arch-insight.com/mcp \
arch-insight-mcp:<version>
The endpoint is /mcp. The server holds no credential: each request must carry
the user's ARCH-Insight bearer token, which is checked against
/api/auth/me. It publishes OAuth protected-resource metadata pointing at
ARCH_OAUTH_ISSUER (default https://auth.arch-insight.com), so clients that
speak MCP authorization (ChatGPT) sign the user in there. /healthz is a
liveness probe; OPENAI_APPS_CHALLENGE is served at
/.well-known/openai-apps-challenge for ChatGPT domain verification.
If the user's organisation requires MFA (/api/auth/me returns
mfa_required: true) and the token's session has not completed it
(mfa_verified: false), the token is refused: HTTP mode answers 401 with
WWW-Authenticate: Bearer error="insufficient_user_authentication", stdio mode
fails every tool call with the same explanation. Tokens from ARCH-Insight's
OAuth server (ChatGPT) are always aal1, so for them the API waives the
requirement when the person approved that connector on the consent screen
after an MFA challenge (an MFA-backed grant, 30 days, revocable under Account
→ Connected apps); /api/auth/me then reports mfa_required: false.
| Variable | Default |
|---|---|
ARCH_API_URL |
https://arch-insight.com |
ARCH_MCP_PUBLIC_URL |
http://<host>:<port>/mcp |
ARCH_OAUTH_ISSUER |
ARCH_AUTH_URL or https://auth.arch-insight.com |
ARCH_MCP_ALLOWED_HOSTS |
host of ARCH_MCP_PUBLIC_URL |
Tools
Read-only: search, fetch (ChatGPT deep-research shape),
search_architecture, list_fact_sheets, get_fact_sheet,
list_applications, list_projects, list_tasks, list_tickets,
get_ticket, get_monitor_status, list_incidents, list_alerts.
Writes: create_ticket, reply_to_ticket, set_ticket_status,
create_task, acknowledge_incident.
Finance: finance_list_accounts, finance_list_transactions (read-only);
finance_create_transaction; finance_issue_invoice (issues the e-invoice and
returns its XML and/or the PDF as base64, with an optional format such as
zugferd, xrechnung-cii or xrechnung-ubl — left out, the server default
applies); finance_send_invoice (e-mails it). Sending cannot be undone, so
finance_send_invoice does nothing unless called with confirm: true; without
it, it returns what it would send.
Development
pip install -e '.[test]'
pytest && ruff check .
Metadata
Release files for arch-insight-mcp 0.1.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| arch_insight_mcp-0.1.8.tar.gz | 27.0 kB | Without provenance | Details for arch_insight_mcp-0.1.8.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| arch_insight_mcp-0.1.8-py3-none-any.whl | Python 3 | none | any | Details for arch_insight_mcp-0.1.8-py3-none-any.whl |
Total release size: 47.7 kB
Release files / arch_insight_mcp-0.1.8.tar.gz
| Download URL | arch_insight_mcp-0.1.8.tar.gz |
|---|---|
| Size | 27.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
846505dda7d1992974500b2a55c0aef7a40606bd75f011a5c0ccfd64c84f3cde
|
|
BLAKE2b-256 checksum How to use checksums |
047c3b306d579ccbe725d3e89597dbd287dab515fb4589795135f0c31877f19f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.16
|
Release files / arch_insight_mcp-0.1.8-py3-none-any.whl
| Download URL | arch_insight_mcp-0.1.8-py3-none-any.whl |
|---|---|
| Size | 20.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e90a2d1fed2c3c3942fda54c188c9a82c1e677dfcd23e39835bce98fc7a27be8
|
|
BLAKE2b-256 checksum How to use checksums |
f15683f1cacb3b889efa861f7d12bff91320f13fadeb94ad88242f1e9a98a92c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.16
|
Security for arch-insight-mcp 0.1.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.