Govern Corporate Data Policies
Eunomia MCP Server orchestrates data governance policies like PII detection across MCP servers - the project is now deprecated.
Why it matters
Connects Eunomia tools to MCP servers for managing corporate data governance policies, including personal information detection and user access control within text pipelines.
Outcomes
What it gets done
Detect and replace personal information in text.
Control user access to corporate data.
Orchestrate multiple servers for data governance.
Integrate with external MCP servers.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-eunomia | bash Overview
Eunomia MCP Server
Eunomia MCP Server connects Eunomia's data governance instruments, such as PII detection, to MCP servers so policies can be enforced across orchestrated pipelines. The project is deprecated; a successor MCP integration is in development. Do not adopt this for new work - it is deprecated and incompatible with current Eunomia releases. Existing users should plan to migrate once the replacement ships.
What it does
Eunomia MCP Server extends the Eunomia framework to connect Eunomia's data governance "instruments" with MCP servers. It lets you orchestrate data governance policies - such as PII detection or user access control - and enforce them across external server processes in the MCP ecosystem, on top of LLM or other text-based pipelines.
When to use - and when NOT to
This MCP server is deprecated. Per the project's own README, it is no longer compatible with the latest developments of the core Eunomia framework, and a new MCP integration is under development. Do not adopt it for new work; if you already depend on it, plan to migrate once the replacement integration ships. Historically, it was used to apply governance instruments, such as PII redaction, to text flowing through one or more MCP-connected servers, orchestrated via an "Orchestra" configuration.
Capabilities
- Enforce data governance on top of LLM or other text-based pipelines
- Orchestrate multiple external MCP servers that communicate via the MCP framework
- Apply Eunomia "instruments" - for example PiiInstrument, which detects and edits entities such as EMAIL_ADDRESS and PERSON - to text passing through the orchestrated servers
- Define application settings (app name, version, log level, connected MCP servers, and the Orchestra of instruments) via a pydantic_settings Settings class
The project's own example shows this in practice: a Settings class sets APP_NAME, APP_VERSION, and LOG_LEVEL, then declares MCP_SERVERS as a dict connecting an external web-browser-mcp-server (run via the command uv with args tool run web-browser-mcp-server, and an env var REQUEST_TIMEOUT set to 30 seconds). Alongside it, an ORCHESTRA field builds an Orchestra with a PiiInstrument configured for entities EMAIL_ADDRESS and PERSON and edit_mode set to replace, so matching entities are redacted before the text reaches downstream servers.
How to install
Clone the repository:
git clone https://github.com/whataboutyou-ai/eunomia-mcp-server.git
Define a Settings class (APP_NAME, APP_VERSION, LOG_LEVEL, MCP_SERVERS, and an Orchestra of instruments), then run the server with uv, pointing it at the directory containing your server code:
uv --directory "path/to/server/" run orchestra_server
On startup the server does three things: it loads settings from .env or environment variables; it launches the Eunomia MCP Server to handle requests and orchestrate the configured external MCP server(s); and it applies the configured instruments, such as PiiInstrument, to incoming text so that data governance policies are enforced automatically rather than left to each downstream server.
Who it's for
Teams that were applying Eunomia's data governance instruments - PII detection, access control - across MCP-connected server pipelines. Given the deprecation notice, new adopters should wait for the successor MCP integration rather than build on this one.
Source README
Eunomia MCP Server
Open Source Data Governance for LLM-based Applications - with MCP integration
Made with ❤ by the team at What About You.
Overview
Eunomia MCP Server is an extension of the Eunomia framework that connects Eunomia instruments with MCP servers. It provides a simple way to orchestrate data governance policies (like PII detection or user access control) and seamlessly integrate them with external server processes in the MCP ecosystem.
With Eunomia MCP Server, you can:
- Enforce data governance on top of LLM or other text-based pipelines.
- Orchestrate multiple servers that communicate via the MCP framework.
Get Started
Installation
git clone https://github.com/whataboutyou-ai/eunomia-mcp-server.git
Basic Usage
Eunomia MCP Server uses the same "instrument" concept as Eunomia. By defining your set of instruments in an Orchestra, you can apply data governance policies to text streams that flow through your MCP-based servers.
Below is a simplified example of how to define application settings and run the MCP server with uv.
"""
Example Settings for MCP Orchestra Server
=========================================
This example shows how we can combine Eunomia with a web-browser-mcp-server
(https://github.com/blazickjp/web-browser-mcp-server).
"""
from pydantic_settings import BaseSettings
from pydantic import ConfigDict
from eunomia.orchestra import Orchestra
from eunomia.instruments import IdbacInstrument, PiiInstrument
class Settings(BaseSettings):
"""
Application settings class for MCP orchestra server using pydantic_settings.
Attributes:
APP_NAME (str): Name of the application
APP_VERSION (str): Current version of the application
LOG_LEVEL (str): Logging level (default: "info")
MCP_SERVERS (dict): Servers to be connected
ORCHESTRA (Orchestra): Orchestra class from Eunomia to define data governance policies
"""
APP_NAME: str = "mcp-server_orchestra"
APP_VERSION: str = "0.1.0"
LOG_LEVEL: str = "info"
MCP_SERVERS: dict = {
"web-browser-mcp-server": {
"command": "uv",
"args": [
"tool",
"run",
"web-browser-mcp-server"
],
"env": {
"REQUEST_TIMEOUT": "30"
}
}
}
ORCHESTRA: Orchestra = Orchestra(
instruments=[
PiiInstrument(entities=["EMAIL_ADDRESS", "PERSON"], edit_mode="replace"),
# You can add more instruments here
# e.g., IdbacInstrument(), etc.
]
)
Running the Server
Once your settings are defined, you can run the MCP Orchestra server by pointing uv to the directory containing your server code, for example:
uv --directory "path/to/server/" run orchestra_server
This will:
- Load the settings from
.envor environment variables. - Launch the Eunomia MCP Server to handle requests and orchestrate your external MCP server(s).
- Apply Eunomia instruments (like
PiiInstrument) to the incoming text, ensuring data governance policies are automatically enforced.
Further Reading
For more detailed usage, advanced configuration, and additional instruments, check out the following resources:
- Eunomia Documentation: Learn more about the core Eunomia framework.
- Eunomia Repository: See Eunomia source code and examples.
- MCP Documentation: Explore the Model Context Protocol specification and ecosystem.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.