
Write HTML. Render video. Built for agents.
This SDK adds governance features to MCP servers: identity resolution, RBAC, credential injection, audit logging, structured logging, and trace context propagation. It sits around the base MCP server and runs requests through a governance pipeline before your handlers execute.
Builders who run MCP servers and want identity, RBAC, secrets, and audit logs in one layer.
You can ship MCP servers with access control and observability built in instead of adding each piece by hand.
Resolves the caller identity through an `IdentityResolver` interface.
Checks permissions with `RoleStore` and `PermissionStore`.
Supplies handler secrets through a `CredentialResolver`.
Records governed requests in an `AuditLogStore` for compliance and review.
Adds request-scoped logs through a `Logger` interface.
Carries W3C trace context with `TraceContextProvider`.
Wraps the base MCP `Server` and processes requests through a configurable pipeline.
Includes built-in default implementations for local development and testing.
npm install @ithena-one/mcp-governance @modelcontextprotocol/sdk zod # or yarn add @ithena-one/mcp-governance @modelcontextprotocol/sdk zod # or pnpm add @ithena-one/mcp-governance @modelcontextprotocol/sdk zod
Website: ithena.one
The missing governance layer for your Model Context Protocol (MCP) servers.
Build secure, compliant, and observable MCP applications with Ithena. Easily add Identity, Authorization (RBAC), Credential Management, Auditing, Logging, and Tracing using our SDK for servers built with @modelcontextprotocol/typescript-sdk, or leverage the upcoming Ithena Managed Platform (waitlist open!).
๐ Documentation:
The standard @modelcontextprotocol/sdk is excellent for implementing the core MCP communication protocol. However, deploying MCP servers in production, especially in enterprise environments, requires addressing critical governance questions:
Implementing these consistently across every MCP server is complex and error-prone.
@ithena-one/mcp-governanceThis SDK provides a standard, pluggable framework that wraps the base Server class, letting you integrate essential governance features without rewriting your core MCP logic.
Ithena offers two ways to achieve this: the open-source SDK (@ithena-one/mcp-governance) for self-hosting, and the upcoming Ithena Managed Platform (currently accepting users via a waitlist) which provides hosted, production-ready backends for the SDK's interfaces, eliminating infrastructure management.
Benefits:
IdentityResolver)RoleStore, PermissionStore)CredentialResolver)AuditLogStore)Logger)TraceContextProvider)Server)@ithena-one/mcp-governance intercepts incoming MCP requests and notifications, processing them through a defined pipeline before (or during) the execution of your business logic handlers.
graph LR
A[MCP Request In] --> B(Context Setup: EventID, Logger, TraceContext);
B --> C{IdentityResolver?};
C -- Yes --> D[Resolve Identity];
C -- No --> E[Identity = null];
D --> E;
E --> F{RBAC Enabled?};
F -- No --> K[Credential Resolution];
F -- Yes --> G{Identity Resolved?};
G -- No --> H(DENY: Identity Required);
G -- Yes --> I[Derive Permission];
I --> J{Permission Check Needed?};
J -- No (null permission) --> L{Post-Auth Hook?};
J -- Yes --> J1[Get Roles];
J1 --> J2[Check Permissions];
J2 -- Denied --> H2(DENY: Insufficient Permission);
J2 -- Granted --> L;
L -- Yes --> M[Execute Hook];
L -- No --> K;
M --> K;
K -- Yes (Resolver Exists) --> N[Resolve Credentials];
K -- No --> O[Credentials = null/undefined];
N -- Error & failOnError=true --> P(FAIL: Credentials Error);
N -- Error & failOnError=false --> O;
N -- Success --> O;
O --> Q[Execute Governed Handler];
Q -- Success --> R[Result];
Q -- Error --> S(FAIL: Handler Error);
R --> T(Send Response);
S --> T;
P --> T;
H --> T;
H2 --> T;
T --> U(Audit Log);
style H fill:#f99,stroke:#333,stroke-width:2px;
style H2 fill:#f99,stroke:#333,stroke-width:2px;
style P fill:#f99,stroke:#333,stroke-width:2px;
style S fill:#f99,stroke:#333,stroke-width:2px;
style U fill:#ccf,stroke:#333,stroke-width:1px,stroke-dasharray: 5 5;
See Core Concepts for more details on the pipeline.
The SDK defines interfaces (like IdentityResolver, AuditLogStore, etc.). You can implement these yourself or use clients connecting to the Ithena Managed Platform (waitlist open) for a hosted solution.
Ithena offers flexibility in how you implement MCP governance:
@ithena-one/mcp-governance SDK (Open Source):
GovernedServer, pipeline, and governance interfaces (IdentityResolver, RoleStore, AuditLogStore, etc.).Ithena Managed Platform (Waitlist Open):
You choose the approach that best fits your needs. The SDK seamlessly supports both self-hosted and platform-based backends.
npm install @ithena-one/mcp-governance @modelcontextprotocol/sdk zod
# or
yarn add @ithena-one/mcp-governance @modelcontextprotocol/sdk zod
# or
pnpm add @ithena-one/mcp-governance @modelcontextprotocol/sdk zod
Peer Dependencies: Make sure you have compatible versions of @modelcontextprotocol/sdk (check peerDependencies in package.json) and zod installed.
See the Getting Started Guide for a runnable example.
GovernedServer and the pipeline.Contributions are welcome! Please open an issue or submit a pull request on the GitHub repository.
This project is licensed under the Apache-2.0 License. See the LICENSE file for details.
Sign in to join the discussion.
No comments yet. Be the first to say what this is good for.

Write HTML. Render video. Built for agents.
Ultra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, tools, memory, MCP, multi-agent workflows, automation, and chat apps
SkillOpt is a text-space optimizer that trains reusable natural-language skills for frozen LLM agents through trajectory-driven edits, validation-gated updates, and deployable best_skill.md artifacts.

Omnigent is an open-source AI agent framework and meta-harness: orchestrate Claude Code, Codex, Cursor, Pi, and custom agents โ swap harnesses without rewriting, enforce policies and sandboxing, and collaborate in real time from any device.
A theoretical reconstruction of the Claude Mythos architecture, built from first principles using the available research literature.
๐ท๏ธ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!