Token导航 LogoToken导航TokenDH.com
MCP Modular logo
开发工具stdio官方级别未说明来源级核验

MCP Modular

MCP Server

一个基于FastMCP构建的模块化MCP服务器,无需中央注册即可自动加载和管理工具、提示和资源。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
模块化架构工具管理PythonClaude开发工具Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ProgettoLabs

提供方

ProgettoLabs

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv venv

详细介绍

MCP模块化服务器

使用FastMCP构建的模块化MCP(模型上下文协议)服务器。每个工具、提示和资源都存在于自己的文件中,不需要中央注册。

______________________________________________________________________

安装

1.克隆仓库并导航到项目目录。

2.创建并激活虚拟环境:

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

3.安装依赖项:

pip install -r requirements.txt

______________________________________________________________________

文件结构

mcp-modular/
├── mcp_instance.py        # Creates the shared MCP instance
├── server.py              # Entry point — auto-loads all modules
├── requirements.txt
├── prompts/
│   ├── __init__.py
│   └── my_prompt.py       # One prompt per file
├── tools/
│   ├── __init__.py
│   └── my_tool.py         # One tool per file
└── resources/
    ├── __init__.py
    └── my_resource.py     # One resource per file

server.py 自动发现并加载每个 .py 内部文件 prompts/, tools/,以及 resources/。你永远不需要手动注册任何东西。

______________________________________________________________________

添加新的提示、资源或工具

新刀具

在中创建文件 tools/例如。 tools/my_tool.py:

from mcp_instance import mcp

@mcp.tool()
async def my_tool(param: str) -> str:
    """Description of what this tool does."""
    return f"Result: {param}"

新建提示

在中创建文件 prompts/例如。 prompts/my_prompt.py:

from mcp_instance import mcp

@mcp.prompt()
async def my_prompt(context: str) -> str:
    """Description of what this prompt does."""
    return f"You are a helpful assistant. Context: {context}"

新建资源

在中创建文件 resources/例如。 resources/my_resource.py:

from mcp_instance import mcp

@mcp.resource("myapp://data/my-resource")
async def my_resource() -> str:
    """Description of this resource."""
    return "Resource content here"

就是这样——在其他任何地方都不需要进口或注册。服务器在下次运行时自动拾取它。

______________________________________________________________________

您需要的唯一进口

中的每个文件 prompts/, tools/,以及 resources/ 只需要一个导入:

from mcp_instance import mcp

使用 mcp 对象来注册您的处理程序 @mcp.tool(), @mcp.prompt(),或 @mcp.resource(...).

______________________________________________________________________

电子邮件工具示例

该项目包括阅读和发送电子邮件的示例工具(tools/email_reader.pytools/email_sender.py).如果你想使用这些工具,你需要在中设置你的凭据 .credentials/mail_credentials.yaml:

imap_host: imap.gmail.com # or any other IMAP server
smtp_host: smtp.gmail.com # or any other SMTP server
email_user: your_email@gmail.com
email_password: your_password_here
recipient_email: recipient_email@example.com

关于密码的重要提示:email_password 字段通常是 应用程序密码,这与您的标准登录密码不同。如果您使用的是Gmail,您可以在此处找到如何生成应用程序密码的说明: 使用应用程序密码登录-Gmail帮助.

______________________________________________________________________

文件访问工具

该项目包括三个以受限方式与本地文件系统交互的工具:

  • list_files:列出允许目录中的所有文件。
  • read_file:读取特定文件的内容。
  • create_file:用新内容创建或覆盖文件。

要使用这些工具,您必须在中配置允许的目录路径 .credentials/file_access.yaml:

access_dir: /path/to/your/allowed/directory

Helper函数

对于电子邮件和文件访问工具,凭据和配置加载逻辑都集中在 mcp_instance.py 通过两个辅助函数:

  • get_access_dir():从读取允许的目录路径 file_access.yaml.
  • load_email_credentials():从加载电子邮件配置 mail_credentials.yaml.

______________________________________________________________________

更改服务器名称

打开 mcp_instance.py 并更新传递给的字符串 FastMCP:

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("your-server-name-here")

此名称是服务器向MCP客户端标识自身的方式。

______________________________________________________________________

运行客户端

client.py 是由Ollama提供支持的交互式聊天应用程序(llama3.1:8b).它连接到MCP服务器,将所有注册的工具暴露给模型,并运行一个对话循环,直到您键入 exitquit.

先决条件: 奥拉玛 必须在本地运行 llama3.1:8b 模型已拉取:

ollama pull llama3.1:8b

启动客户端 (服务器运行时):

python client.py

用环境变量覆盖服务器地址:

MCP_HOST=127.0.0.1 MCP_PORT=9000 python client.py

______________________________________________________________________

运行服务器

服务器支持两种传输方式: 上海证券交易所 (默认)和 标准.

SSE(HTTP)

python server.py

开始 0.0.0.0:8000 默认情况下。用环境变量覆盖:

MCP_HOST=127.0.0.1 MCP_PORT=9000 python server.py

标准

MCP_TRANSPORT=stdio python server.py

当与通过标准输入/输出进行通信的客户端(例如Claude Desktop)集成时,请使用stdio。

目录标签

目录标签

模块化架构工具管理PythonClaude开发工具本地部署自动化加载资源管理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP