Token导航 LogoToken导航

MCP Server · 开发工具

MCP Lite

MCP client/server framework from scratch

HTTP官方级别未说明来源级核验工具 0
Python服务器管理AI代理

快速开始

作者 / 组织
acesanderson
提供方
acesanderson
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

3 个

MCP.so

选型结论

MCP Lite 属于开发工具类 MCP Server,公开资料标注 0 个工具,通过HTTP 远程服务接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

HTTP

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install mcplite\"

远程服务不用写启动命令,在客户端 MCP 配置里填服务地址即可,具体字段按官方文档填写。

上手步骤

  1. 1

    确认访问方式

    这是HTTP 远程服务,本地不用装依赖;先确认服务地址、账号归属和额度,再决定接哪个客户端。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填服务地址;需要授权的先完成登录,再回到客户端刷新。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

阀门

用于构建服务器的模型上下文协议(MCP)的Python实现,这些服务器向大型语言模型(LLM)应用暴露工具、资源和提示。

项目目的

Valve提供了一个框架,用于创建符合MCP(机器学习通信协议)规范的服务器,并将其集成到大型语言模型(LLM)应用中。该框架处理协议协商、消息路由、传输层抽象(标准输入输出、直接传输、服务器发送事件),并提供了一个主机编排层,能够同时管理多个MCP服务器。通过这个框架,大型语言模型能够通过标准化协议与外部数据源和工具进行交互。

架构概述

  • MCPLite(注:这个名称可能是一个特定产品或服务的名称,直接翻译为“轻量级MCPL”可能不够准确,具体翻译需结合上下文或产品/服务的实际含义,但在此提供一个基本的直译版本)用于定义MCP服务器的服务器端框架,采用装饰器方式。提供 @tool, @resource,以及 @prompt 用于注册功能的装饰器。
  • 主机编排引擎,用于管理多个MCP客户端,聚合功能,生成系统提示,并实现与大型语言模型(LLM)交互的代理循环。
  • 客户MCP客户端实现,用于连接服务器、进行能力协商并发送请求。
  • 服务器消息处理器,用于将传入的MCP请求路由到已注册的原始操作(或基本元素),并返回响应。
  • 传输层通信抽象包括DirectTransport(进程内通信)、StdioTransport(通过标准输入输出的子进程通信)和SSETransport(HTTP服务器发送事件)。
  • 基本元素/原语核心MCP抽象包括MCPTool、MCPResource、MCPResourceTemplate和MCPPrompt,它们用于将Python函数与MCP元数据封装在一起。
  • 信息符合JSON-RPC 2.0规范的MCP协议消息(包括请求、响应、通知和错误)的Pydantic模型。
  • 注册表ServerRegistry 存储带有可执行代码的服务器端基本组件;ClientRegistry 存储用于能力发现的客户端定义。
  • 库存服务器发现与管理系统,用于扫描目录以查找可用的MCP服务器并维护元数据。
  • MCPChat基于Chain框架构建的聊天界面,为对话式大型语言模型(LLM)应用增添了MCP(多渠道平台/管理控制协议等,具体含义根据上下文确定)功能。

依赖项

主要依赖项:

  • pydantic数据验证和序列化
  • requests用于fetch服务器的HTTP客户端
  • beautifulsoup4HTML解析
  • markdownifyHTML 转 Markdown
  • fastapi用于SSE传输的Web框架
  • sse-starletteFastAPI 的 SSE 支持
  • aiohttp异步HTTP客户端
  • rich终端格式化和输出

本地依赖项:

  • Chain提供模型(Model)、消息(Message)、消息存储(MessageStore)、提示(Prompt)和聊天(Chat)类的大型语言模型(LLM)框架(似乎是内部依赖项)

API 文档

MCPLite

class MCPLite:
    def __init__(self, transport: Optional[Transport | str] = None)

用于创建MCP服务器的主要类。

关键方法:

def tool(self, func: Callable) -> Callable

装饰器,用于将函数注册为MCP工具。函数必须包含类型注解和文档字符串。

def resource(self, uri: str, mime_type: str = "text/plain", size: int = 1024) -> Callable

装饰器,用于将函数注册为MCP资源或资源模板。使用 {param} 在模板的URI中。

def prompt(self, func: Callable) -> Callable

装饰器,用于将函数注册为MCP提示。函数应返回一个字符串或PromptMessage对象的列表。

def run(self)

启动服务器。行为取决于传输类型。

主持人

class Host:
    def __init__(
        self,
        servers: list[str],
        model: str = "gpt",
        preferred_transport: transport_types = "stdio",
        console: Console = Console()
    )

用于管理多个MCP服务器的编排引擎。

参数:

  • servers要连接的服务器名称列表
  • model大型语言模型(LLM)的模型标识符
  • preferred_transport传输类型偏好(“stdio”,“direct”,“sse”)
  • console丰富的控制台输出

关键方法:

def agent_query(self, prompt: str, message_store: MessageStore = MessageStore()) -> str | None

执行一个代理循环,处理MCP工具调用。返回最终答案或None。

客户

class Client:
    def __init__(
        self,
        name: str = "Generic Client",
        transport: str | Transport | StdioClientTransport = "DirectTransport",
        server_function: Optional[Callable] = None
    )

用于连接服务器的MCP客户端。

关键方法:

def initialize(self)

执行MCP握手和能力发现。

def send_request(self, request: MCPRequest) -> MCPResult

向服务器发送请求并返回结果。

def send_notification(self, notification: MCPNotification)

向服务器发送通知(不期待响应)。

MCPChat(注:MCPChat可能是一个特定应用或服务的名称,直接翻译为“MCP聊天”可能不够准确,具体翻译需根据上下文或该名称的实际含义来确定。在此仅提供直译版本。)

class MCPChat(Chat):
    def __init__(
        self,
        servers: list[str],
        model: str = "gpt",
        preferred_transport: transport_types = "stdio",
        **kwargs
    )

具有MCP功能的聊天界面。继承自Chain的Chat类。

参数:

  • servers要连接的MCP服务器名称列表
  • model模型标识符
  • preferred_transport交通方式偏好

附加命令:

  • /status显示MCP连接状态
  • /list_tools列出可用工具
  • /list_resources列出可用资源
  • /list_prompts列出可用的提示

运输类别

class StdioClientTransport(Transport):
    def __init__(self, server_command: list[str])

通过标准输入输出进行子进程通信的客户端传输。

class StdioServerTransport(Transport):
    def __init__(self)

用于标准I/O通信的服务器传输。

class DirectTransport(Transport):
    def __init__(self, server_function: Callable)

直接调用服务器函数的中间过程传输。

使用示例

创建MCP服务器

from valve.mcplite.mcplite import MCPLite
from valve.transport import StdioServerTransport

mcp = MCPLite(transport=StdioServerTransport())

@mcp.tool
def add_numbers(a: int, b: int) -> int:
    """Add two numbers together."""
    return a + b

@mcp.resource(uri="myapp://status")
def get_status() -> str:
    """Get application status."""
    return "Server is running"

@mcp.prompt
def analysis_prompt(topic: str) -> str:
    """Generate an analysis prompt for a given topic."""
    return f"Please analyze the following topic in detail: {topic}"

if __name__ == "__main__":
    mcp.run()

使用主机来协调多个服务器

from valve.host.Host import Host
from Chain import MessageStore

# Connect to multiple MCP servers
host = Host(
    model="gpt",
    servers=["fetch", "obsidian"],
    preferred_transport="stdio"
)

# Execute a query that may use multiple tools
message_store = MessageStore()
result = host.agent_query(
    "Fetch the content from example.com and save it to my notes",
    message_store
)
print(result)

使用MCP构建聊天应用程序

from valve.mcpchat.mcpchat import MCPChat

# Create chat with MCP capabilities
chat = MCPChat(
    model="gpt",
    servers=["fetch", "obsidian"],
    preferred_transport="direct"
)

# Start interactive chat
chat.chat()

# Or use programmatically
response = chat.query("What's the weather in San Francisco?")

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

developer-toolsLLM工具集成Python本地部署协议框架服务器管理Python开发

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 3 个目录同时收录,信息可以交叉核对。

先想清楚的地方

  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Lite

MCP.so · 本页

0HTTP有3 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Lite 怎么安装?

公开资料给出的安装命令是 pip install mcplite\",运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP Lite 怎么在 Claude Desktop、Cursor 里配置?

它是HTTP 远程服务,在客户端的 MCP 配置里填服务地址即可,不用本地装依赖;需要授权或 API Key 的,先在官方页面拿到凭据再填。

MCP Lite 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Lite 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

MCP Lite 支持哪些客户端?

公开资料没有标注具体客户端;支持远程 MCP 地址的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP