Token导航 LogoToken导航TokenDH.com
Secure Agentic MCP logo
AI代理stdio官方级别未说明来源级核验

Secure Agentic MCP

MCP Server

一个基于MCP协议和HTTP的可控代理工具框架,提供权限管理、工具调用和审计功能,适用于AI工具链开发和安全敏感场景。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
权限管理Python审计日志AI代理

安装说明

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

作者 / 组织

alialoha

提供方

alialoha

最后核验

2026/5/17 20:20

运行时

Python

快速接入

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

命令预览

python -m venv .venv

详细介绍

安全代理工具(MCP、HTTP)

通过流式HTTP管理MCP --不是一个薄薄的聊天机器人包装。此项目连接了a FastMCP 服务器,a 权限感知客户端 (allow / ask / deny +审计),以及a 工具调用LLM主机 (操作员 格拉迪奥 +烧瓶 演示/直播;模型是可插拔的)。

作者 阿里·穆萨维 · 存储库:

建筑(一览)

flowchart LR
  subgraph srv["MCP server"]
    T["Tools"]
    R["Resources"]
    P["Prompts"]
  end
  C["Permission client (Operator / Flask Live)"]
  L["LLM host\n(tool-calling)"]
  srv |"Streamable HTTP (MCP)"| C
  C |"LLM API (tools)"| L
  • 服务器 --MCP 服务器 角色:工具、资源、提示;工作空间+服务器端审计。
  • 中间 --MCP 客户端 (可将HTTP流式传输到服务器)加 应用程序策略: permissions.jsonaudit.log 以客户为中心生活;Operator/Flask是嵌入此堆栈的UI。
  • LLM工具调用 超过一个 API有限责任公司 (非MCP运输);具体模型是一种部署选择。该模型提出了工具; 策略在客户端中运行 在呼叫到达MCP服务器之前。

截图

供审阅者使用的代表性UI捕获(如果您更喜欢像素完美的保真度而不是本地运行,请替换为您自己的UI捕获)。

操作员(Gradio)-- python -m mcp_operator.gradio_app用户界面(Flask)-- python -m web.app
Operator consoleFlask user UI

布局

所有Python包都位于 src/ 只有。(不要添加 mcp_client, mcp_server,或 operator 在repo根目录下,这些是零散的空文件夹,已被删除。)

  • src/mcp_server --合并了工作区+治理工具、审计日志、资源、提示;服务 /mcp 通过可流式传输的HTTP。
  • src/mcp_client --可流式传输的HTTP客户端+ data/permissions.json 策略+客户端审计日志。
  • src/agent --LLM工具调用主机(兼容OpenAI:OpenAI、Groq、Cerebras、自定义 OPENAI_BASE_URL;由运营商和Flask Live共享)。
  • src/mcp_operator --Gradio:AI聊天、工具/资源/提示检查、权限编辑器。
  • src/web --Flask用户应用程序: 演示 (离线)或 生活 (LLM+MCP)。
  • data/permissions.json, workspace/,生成 audit.log.

存储库树

secure-agentic-mcp/
├── README.md
├── docs/
│   ├── operator.png
│   └── flask.png
├── requirements.txt
├── docker-compose.yml
├── Dockerfile.server
├── Dockerfile.operator
├── Dockerfile.web
├── .env.example
├── .gitignore
├── pytest.ini
├── data/
│   ├── permissions.json
│   └── workspace/
│       └── README.md
└── src/
    ├── agent/
    │   ├── __init__.py
    │   ├── llm_client.py
    │   └── mcp_llm_host.py
    ├── mcp_client/
    │   ├── __init__.py
    │   └── http_permission_client.py
    ├── mcp_operator/
    │   ├── __init__.py
    │   └── gradio_app.py
    ├── mcp_server/
    │   ├── __init__.py
    │   ├── __main__.py
    │   └── server.py
    └── web/
        ├── __init__.py
        ├── app.py
        ├── demo.py
        ├── branding.py
        ├── static/
        │   ├── architecture.svg
        │   ├── script.js
        │   └── styles.css
        └── templates/
            └── index.html
└── tests/
    ├── test_agent.py
    ├── test_demo.py
    ├── test_flask.py
    ├── test_imports.py
    └── test_permission_client.py

仅限本地(非git): .env, .venv/, data/audit.log, .pytest_cache/.

快速启动(本地)

cd secure-agentic-mcp
python -m venv .venv
.venv\Scripts\activate   # Windows
pip install -r requirements.txt
copy .env.example .env   # add LLM credentials (OpenAI, Groq, Cerebras, or custom URL — see comments)

终端1-MCP服务器:

set PYTHONPATH=src
set MCP_DATA_DIR=%CD%\data
python -m mcp_server

2号航站楼——操作员(Gradio):

set PYTHONPATH=src
set MCP_SERVER_URL=http://127.0.0.1:8000
set MCP_DATA_DIR=%CD%\data
python -m mcp_operator.gradio_app

终端3——用户Flask应用程序:

set PYTHONPATH=src
set MCP_SERVER_URL=http://127.0.0.1:8000
set MCP_DATA_DIR=%CD%\data
python -m web.app
  • MCP: http://127.0.0.1:8000/mcp
  • 操作员: http://127.0.0.1:7860
  • 用户界面: http://127.0.0.1:5000

Windows:编号脚本(步骤相同,每个应用程序一个终端)

从repo根目录: .\scripts\00-print-env.ps1 (仅预览),然后 01-mcp-server.ps1, 02-operator.ps1, 03-web.ps1。参见 scripts\RUN-ORDER.txt 以及每个顶部的评论 .ps1 文件。

码头工人

copy .env.example .env
docker compose up --build

地图:MCP 8000,操作员 7860,网络 5000。在中设置LLM凭据 .env (默认值 LLM_PROVIDER=openai + OPENAI_API_KEY,或 groq / cerebras / custom --看 .env.example免费llm api).

环境

.env.example重要提示: MCP_SERVER_URL (必须与Docker服务匹配 http://mcp:8000 内部作曲), MCP_DATA_DIR,以及 LLM_PROVIDER 使用匹配的密钥(OPENAI_API_KEY, GROQ_API_KEY, CEREBRAS_API_KEY,或 OPENAI_BASE_URL + OPENAI_API_KEY 定制)。免费等级设置想法: 免费llm api.

故障排除

list_files / read_file 不匹配 data/workspace/ 在磁盘上

进程应该监听您在中设置的URL MCP_SERVER_URL (默认值 http://127.0.0.1:8000).如果另一台MCP服务器(例如另一个项目)首先占用了该端口,Gradio/Flask将与 服务器的工作区,而不是此仓库的 data/workspace/.

  • 停止其他MCP服务器,或设置 MCP_HTTP_PORT / MCP_SERVER_URL 因此它们不共享端口(例如。 8010http://127.0.0.1:8010).
  • 开始 python -m mcp_server,检查控制台:它会打印 MCP_DATA_DIRWorkspace 绝对路径 回购。它们必须与您查找文件的位置相匹配。

背景终端(光标)

使用 View → 终端 (或 ` Ctrl+ `).每个选项卡都是一个shell;长时间运行的服务器在那里运行。在Windows上, netstat -ano | findstr :8000` 显示哪个 比例-积分-微分 拥有一个港口。

测试

自动化测试使用 pytest (pytest.inipythonpath = src).他们确实如此 启动MCP HTTP服务器或调用外部API。

pip install -r requirements.txt
pytest -v
步骤它检查什么
进口mcp_server, mcp_client, agent, mcp_operator, web 负载
demo_reply离线演示字符串
权限客户端加载/保存JSON策略, check_permission,默认值
risk_levels_map所有预期的工具名称都存在
llm_client提供商默认值, resolved_llm_model, live_llm_configured
烧瓶GET /, POST /generate 演示模式,验证错误

对于手动端到端检查,请从以下位置运行三个流程 快速启动(本地) 并在浏览器中练习操作员+实时模式。

目录标签

目录标签

权限管理Python审计日志AI代理本地部署工具调用AI工具链安全框架

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP