Enterprise MCP Server

Enterprise MCP Server

A secure, multi-tenant Model Context Protocol server that gives AI clients controlled access to enterprise knowledge bases, SQL databases, REST APIs, files, and GitHub.

Category
Visit Server

README

Enterprise MCP Server

CI Python MCP License

A secure, multi-tenant Model Context Protocol server that gives AI clients controlled access to enterprise knowledge bases, SQL databases, REST APIs, files, and GitHub.

This is Project 3 in the Techne AI OSS portfolio and is designed to integrate with the Enterprise RAG Platform and Enterprise AI Agent Platform.

What it demonstrates

  • MCP tools, resources, and prompts over Streamable HTTP or stdio
  • Authorization-filtered capability discovery and default-deny policies
  • Enterprise RAG search with citations
  • Parsed, bounded, read-only SQL
  • Allowlisted REST operations
  • Root-confined file search and reads
  • Allowlisted GitHub file access at revisions
  • Tenant-scoped, hash-chained audit records
  • Typed plugin/registry contracts
  • Health, metrics, Docker, CI, and adversarial tests

Architecture

flowchart LR
    C["MCP clients<br/>Agents, Codex, IDEs"] --> T["HTTP / stdio"]
    T --> A["Authentication"]
    A --> P["Policy engine"]
    P --> R["Capability registry"]
    R --> X["Bounded executor"]
    X --> KB["Knowledge/RAG"]
    X --> SQL["Read-only SQL"]
    X --> API["Allowlisted REST"]
    X --> FS["Confined files"]
    X --> GH["GitHub"]
    X --> AU[("Audit store")]

Quick start

Local Python

cp .env.example .env
uv sync --all-groups
uv run uvicorn enterprise_mcp.app:create_app --factory --reload

Open:

  • MCP endpoint: http://localhost:8000/mcp/
  • Health: http://localhost:8000/health/ready
  • API documentation: http://localhost:8000/docs
  • Metrics: http://localhost:8000/metrics

Docker

docker compose up --build

The Compose demo includes PostgreSQL, Redis, the MCP server, a synthetic REST/knowledge service, and confined sample files. It does not require paid credentials. The container endpoint is published at http://localhost:8013 so it can run beside the other portfolio projects.

Try the operational API

Development mode uses an explicit synthetic principal:

curl http://localhost:8000/api/v1/capabilities
curl http://localhost:8000/api/v1/audit/events

MCP client configuration

{
  "mcpServers": {
    "enterprise": {
      "url": "http://localhost:8000/mcp/"
    }
  }
}

Development mode is intentionally convenient. Production configuration refuses to start without OIDC settings and PostgreSQL.

Built-in tools

Tool Purpose Safety boundary
system.capabilities List authorized capabilities discovery filtered by policy
knowledge.search Search enterprise knowledge bounded results and citations
sql.query Query a named SQL connection parsed SELECT-only and row limits
rest.request Call a named REST operation no arbitrary URLs
files.search Search an approved root canonical root confinement
files.read Read a bounded text range size/range/path checks
github.get_file Read an allowlisted repo file repository allowlist and revision

Security model

  • Verified identity creates tenant context; callers cannot supply a tenant argument.
  • Capability discovery and invocation both enforce policy.
  • R3/R4 operations cannot execute without an approval design; v1 tools are read-only.
  • Arguments are fingerprinted for audit rather than stored raw.
  • SQL, URL, file, result-size, timeout, and repository boundaries are independently enforced.
  • Production rejects development authentication, SQLite, and wildcard CORS.

Read SECURITY.md and docs/ARCHITECTURE.md for details.

Development

make lint
make typecheck
make test-cov

Repository layout

src/enterprise_mcp/   application, MCP, security, connectors
tests/                unit, integration, MCP, security tests
docs/                 architecture, APIs, tool registry, implementation plan
deploy/               deployment assets
demo-data/            synthetic public fixtures

Roadmap

  • v0.1: protocol, connectors, policy, audit, Compose demo
  • v0.2: persistent RBAC/connector administration and API keys
  • v0.3: GitHub App installation authentication and plugin entry-point loader
  • v0.4: OpenTelemetry collector and Kubernetes reference deployment
  • v1.0: stable contracts, two-client compatibility, signed images and SBOM

License

Apache-2.0

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured