Aspire MCP
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
aspire-mcp
Starter repo for an on-prem MCP server for the Aspire engagement. Private and
proprietary to Zero State LLC (see LICENSE).
Purpose
The MCP server is the only path by which a locally hosted AI can reach client systems (line-of-business software, document store, email). It must run fully inside the client's building, with narrow tools, least privilege and strong audit.
Related MCP server: Praxis Lite
Scope
In: the MCP server, its tools, config, auth, audit, and the security work (threat model, prompt-injection defenses, red team). Security lead: @arshi016.
Out: the model host, the client's systems themselves, anything with client data. Use synthetic data only.
This is a starting point, not a finished product. It is not deployed anywhere.
On-prem MCP requirements (checklist)
Sources: the project's on-prem MCP requirements (technical requirements only).
Network / locality
Fully local: no outside network access, no cloud LLMs, no telemetry
Single tightly controlled egress gateway for the few integrations that must go out
Server reachable only from the agent host (local socket or private network), never the open network
Tools
Few, narrow, task-specific tools (e.g. "get record status", "fetch document X")
No raw SQL, no shell, no general file access
Read-only by default; any write action gated behind human approval
Config file allowlist of tools; nothing outside it is exposed (skeleton:
ASPIRE_MCP_ALLOWED_TOOLS)Write-type tools produce drafts/queued requests, not direct actions; outbound messages come from reviewed templates with typed fields, not free-form model text
Tools return structured, schema-validated results only, never raw documents, file names or extracted identifiers where not needed
Result size caps with cursor-based paging
Least privilege / credentials
Each tool has its own scoped credentials
Credentials stored in the client's own vault, never in prompts or code
Data protection
Personal data masked/redacted before it reaches the model
Unmasked only where a tool strictly needs it
Output gate (leak check) on every tool result; on failure return a block record instead
Audit
Every call logged: timestamp, caller, tool, inputs, output summary
Log references (IDs, hashes), not content
Tamper-evident and exportable by the client for compliance
Every refused call is logged too
Prompt-injection defense
Document and email contents treated as untrusted data
Validate all tool inputs
Confirmation required before any action triggered by document content
Aligned with OWASP guidance on prompt injection and excessive agency
Auth
Mutual TLS or local tokens between agent and server
Caller identity verified on every call
Role-based access: each staff role sees only its own tools
Short-lived, signed per-session scope token limiting which records a call may touch; injected outside the model, so it never enters model context; model-supplied token-like arguments are overwritten/ignored
Server checks signature, expiry and scope, and refuses otherwise
Ops
Ships as a container or appliance with no external dependencies
Updatable offline
Health check
Kill switch (skeleton:
ASPIRE_MCP_KILL_SWITCH)
Red team (before go-live)
Injection via uploaded documents
Data exfiltration through tool outputs
Privilege escalation
TODOs (not specified by sources)
TODO: transport choice for production (stdio vs. local HTTP/socket) and mTLS details
TODO: which vault product and how tools fetch credentials
TODO: audit log format, storage and tamper-evidence mechanism; retention period
TODO: redaction approach and which fields count as personal data
TODO: human-approval mechanism for writes
TODO: container base image, offline update/signing process
TODO: health check interface (endpoint vs. tool vs. CLI)
TODO: the real tool list and their schemas
TODO: RBAC role definitions
Stack
Python 3.11+ with the official MCP Python SDK (mcp>=1.2,<2, FastMCP), stdio transport.
The current server uses the SDK v1 mcp.server.fastmcp API. SDK v2 removes that
import, so installing v2 fails during collection before any tool runs (issue #28).
The upper bound is a compatibility constraint, not a production lockfile or
security clearance. A v2 migration requires a separate implementation and review.
How to run
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env # no real values needed
python -m aspire_mcp # starts the server on stdioTry it with the MCP Inspector: npx @modelcontextprotocol/inspector python -m aspire_mcp.
Lint and test:
ruff check . && ruff format --check . && pytest -qLayout
src/aspire_mcp/ server skeleton (config.py, server.py)
tests/ basic tests
docs/ threat model, injection defenses, red-team plan (owner: @arshi016)Contribution flow
Branch from
main(feat/...,fix/...,docs/...).Open a PR to
main. CI (lint + test) must pass. Direct pushes and force-pushes tomainare blocked.The code owner (@scrimshawlife-ctrl) reviews and merges.
No secrets or client data in any commit. Synthetic data only.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Security gateway for AI agents: policy, approval, and audited execution, no secrets shared.
Context and control for any AI. Agent identity, scoped access, and proof across tools.
Governed access to sensitive data, secrets and APIs for AI agents. A signed proof for each decision.
1Zero-trust gateway for AI agents: score tool calls, verify agent cards, enforce policy, audit.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to read local business data and request database mutations, while requiring human approval before updates or deletions are executed. It provides read-only tools, approval workflows, and audit logging to prevent autonomous destructive changes.-

Praxis Liteofficial
AlicenseAqualityBmaintenanceEnables AI agents to safely interact with local files by enforcing policies that allow, block, or require approval for actions, while protecting credentials and maintaining a tamper-proof audit log.122MIT- AlicenseNot gradedqualityCmaintenanceEnables LLM agents to access third-party APIs through a least-privilege set of audited tools with allowlists, per-caller scopes, label gates, write confirmation, limits, and PII-masked logging. It restricts reads to labeled data, prevents sending or destructive actions, and records every allowed or denied call.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to call backend tools under per-agent policy, deciding which tools each agent can see, what arguments it may pass, how often it may call, and which writes wait for human approval. It also redacts secrets and PII from tool results, fences untrusted output against injection, and records every call in a hash-chained audit log.19 npmMIT