FE

featureform/enrichmcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

643 stars 32 forks 质量 58 趋势 21Apache-2.0

featureform/enrichmcp 是从 https://github.com/featureform/enrichmcp. 导入的 MCP 服务器候选

概览

featureform/enrichmcp 是从 https://github.com/featureform/enrichmcp. 导入的 MCP 服务器候选

概述(AI 翻译)

人工智能代理的ORM——将你的数据模型转化为语义MCP层

EnrichMCP 是一个 Python 框架,帮助 AI 代理理解并导航你的数据。它基于 MCP(模型上下文协议),增加了语义层,将你的数据模型转化为类型化、可发现的工具——就像 AI 的 ORM 一样。

什么是EnrichMCP?

可以把它看作是针对AI代理的SQLAlchemy。EnrichMCP会自动实现:

  • 从你的数据模型生成类型工具
  • **处理实体之间的关系(用户→订单→产品)
  • 提供模式发现,让AI代理理解你的数据结构
  • 用双研模型验证所有输入/输出
  • 支持任何后端 - 数据库、API或自定义逻辑

安装

给我看代码

选项1:我有SQLAlchemy模型(30秒)

将您现有的 SQLAlchemy 模型转换为 AI 可导航的 API:

人工智能代理现在可以:

  • explore_data_model() - 理解你的整个模式
  • list_users(status='active') - 带过滤器的查询
  • get_user(id=123) - 获取特定记录
  • 关系导航:user.orders → order.user

选项2:我有REST API(2分钟)

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

EnrichMCP

The ORM for AI Agents - Turn your data model into a semantic MCP layer

EnrichMCP is a Python framework that helps AI agents understand and navigate your data. Built on MCP (Model Context Protocol), it adds a semantic layer that turns your data model into typed, discoverable tools - like an ORM for AI.

What is EnrichMCP?

Think of it as SQLAlchemy for AI agents. EnrichMCP automatically:

  • Generates typed tools from your data models
  • Handles relationships between entities (users → orders → products)
  • Provides schema discovery so AI agents understand your data structure
  • Validates all inputs/outputs with Pydantic models
  • Works with any backend - databases, APIs, or custom logic

Installation

pip install enrichmcp

# With SQLAlchemy support
pip install enrichmcp[sqlalchemy]

Show Me Code

Option 1: I Have SQLAlchemy Models (30 seconds)

Transform your existing SQLAlchemy models into an AI-navigable API:

from enrichmcp import EnrichMCP
from enrichmcp.sqlalchemy import (
    include_sqlalchemy_models,
    sqlalchemy_lifespan,
    EnrichSQLAlchemyMixin,
)
from sqlalchemy import ForeignKey
from sqlalchemy.ext.asyncio import create_async_engine
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, relationship

engine = create_async_engine("postgresql+asyncpg://user:pass@localhost/db")

# Add the mixin to your declarative base
class Base(DeclarativeBase, EnrichSQLAlchemyMixin):
    pass

class User(Base):
    """User account."""

    __tablename__ = "users"

    id: Mapped[int] = mapped_column(primary_key=True, info={"description": "Unique user ID"})
    email: Mapped[str] = mapped_column(unique=True, info={"description": "Email address"})
    status: Mapped[str] = mapped_column(default="active", info={"description": "Account status"})
    orders: Mapped[list["Order"]] = relationship(
        back_populates="user", info={"description": "All orders for this user"}
    )

class Order(Base):
    """Customer order."""

    __tablename__ = "orders"

    id: Mapped[int] = mapped_column(primary_key=True, info={"description": "Order ID"})
    user_id: Mapped[int] = mapped_column(
        ForeignKey("users.id"), info={"description": "Owner user ID"}
    )
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →