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

Agentic MCP Prototype

MCP Server

一个智能工作流自动化系统,使用AI动态规划和执行跨平台任务,提供多租户访问控制和安全认证。

工具数

9

提示词数

0

GitHub Stars

0

资源数

0
工作流自动化多租户Python

安装说明

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

作者 / 组织

PushpakMaheshwari1

提供方

PushpakMaheshwari1

最后核验

2026/5/17 20:20

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

🐛 自动Bug路由器——代理MCP网关

一个使用人工智能动态规划和执行跨平台任务的智能工作流自动化系统。特性 身份验证+RBAC 用于安全的多租户访问控制。

______________________________________________________________________

它做什么

您键入一个简单的英文命令:

Read ticket BUG-12 and post it to the dev channel

幕后:

  1. 快速API 从4台MCP服务器中发现可用工具
  2. 双子座 在运行时动态构建JSON执行计划(DAG)
  3. 基于角色的访问控制 在AI看到之前,根据用户角色过滤工具
  4. FastAPI执行DAG:调用Jira MCP→ 注入结果→ 呼叫Slack MCP
  5. WRITE工具暂停以获得Human In The Loop(HITL)批准
  6. 每一步都通过SSE流式传输到浏览器中的实时终端

______________________________________________________________________

建筑

Browser (Next.js :3000)
  │
  │  POST /execute  (natural-language command + JWT)
  │  ◀─── SSE stream (logs, DAG, step events, RBAC events)
  ▼
FastAPI Orchestrator (:8000)
  │
  ├── MCP SSE client ──▶  Jira Mock MCP  (:8081)
  │                         • jira_get_ticket
  │                         • jira_list_open_tickets
  │
  ├── MCP SSE client ──▶  Slack Mock MCP (:8082)
  │                         • slack_post_message
  │
  ├── MCP SSE client ──▶  GitHub Mock MCP (:8083)
  │                         • github_list_pull_requests
  │                         • github_get_pull_request
  │                         • github_create_issue
  │
  └── MCP SSE client ──▶  Sheets Mock MCP (:8084)
                            • sheets_read_range
                            • sheets_list_spreadsheets
                            • sheets_append_row

______________________________________________________________________

Auth+RBAC系统

角色和权限

角色可以访问
实习生Jira只读(jira_get_ticket, jira_list_open_tickets)
工程师实习生工具+Slack帖子+GitHub阅读
高级的工程师工具+表格(读/写)
管理员所有工具+用户管理

RBAC流

POST /execute { command, Authorization: Bearer  }
│
▼ [JWT Middleware extracts user_id, role, tenant_id]
│
▼ Phase 1: Discover ALL tools from MCP servers
│
▼ [RBAC Check 1] Filter tools by role
│  Intern sees only 2/9 tools → Slack/GitHub/Sheets hidden from Gemini
│
▼ Phase 2: Gemini generates DAG using FILTERED tools
│
▼ Phase 3: Execute DAG steps
│   ├── [RBAC Check 2] is_tool_allowed(tool, role)?
│   │    NO → log violation, reject, return
│   │
│   ├── [HITL Gate] WRITE tool? → wait for human approval
│   │
│   └── invoke_tool() → result

______________________________________________________________________

快速开始

先决条件

  • 已安装并正在运行
  • Docker+Docker组合
  • Google Gemini API密钥

1.配置

cd AgenticMcp
# Edit .env and set:
GEMINI_API_KEY=your-gemini-key
JWT_SECRET=any-random-string-for-jwt-signing

2.启动所有服务

docker compose up --build

3.打开控制室

http://localhost:3000
  • 注册 创建帐户(默认角色:实习生)
  • 登录 使用您的凭据
  • 键入命令并单击 执行→

______________________________________________________________________

测试用户

电子邮件密码角色
admin@test.compassword管理员(所有工具)
engineer@test.compassword工程师
senior@test.compassword 高级的
(注册新)任何实习生

______________________________________________________________________

API终点

认证

方法端点描述
职位/auth/signup创建新帐户
职位/auth/login登录→ 获取JWT令牌
得到/auth/me获取当前用户信息

管理员(仅限管理员)

方法端点描述
得到/admin/users列出所有用户
补丁/admin/users/{id}/role更新用户角色

审核(仅限管理员)

方法端点描述
得到/audit/rbacRBAC权限日志
得到/audit/logins登录尝试日志

执行

方法端点描述
得到/tools发现所有MCP工具
职位/execute执行自然语言命令

人在回路

方法端点描述
得到/hitl/pending列出待批准事项
职位/hitl/{exec_id}/approve批准一个步骤
职位/hitl/{exec_id}/reject拒绝步骤
得到/hitl/auditHITL决策历史

调试

URL您将看到什么
http://localhost:8081/healthJira模拟状态
http://localhost:8082/health松弛模拟状态
http://localhost:8082/inbox所有Slack消息
http://localhost:8083/healthGitHub模拟状态
http://localhost:8084/health表格模拟状态
http://localhost:8000/health后端活性

______________________________________________________________________

SSE事件类型

type有效载荷UI效果
loglevel, message终端输出
dagdag (JSON计划)流程图渲染
rbac_filterrole, visible_count, total_count显示筛选工具
rbac_blocktool, role刀具堵塞警报
step_startstep_id, tool卡片突出显示琥珀色
step_completestep_id, output_key, result卡片变绿
pending_approvalexecution_id, step_id, ...HITL模式
approvedexecution_id, step_id继续执行
rejectedexecution_id, step_id停止执行
errormessage错误警报
completeoutputs工作流完成

______________________________________________________________________

预加载演示数据

Jira模拟门票:

ID标题状态优先级
BUG-12数据库超时问题打开
BUG-13移动设备上的登录重定向循环正在进行中中等

命令示例:

Read ticket BUG-12 and post it to the #dev channel
List all open Jira tickets and notify #alerts on Slack
Get pull request #47 from acme-corp/backend and log to Sheets

______________________________________________________________________

文件结构

AgenticMcp/
├── docker-compose.yml
├── .env
├── README.md
│
├── backend/
│   ├── main.py         # FastAPI: Auth + RBAC + Execution
│   ├── requirements.txt
│   └── Dockerfile
│
├── frontend/
│   ├── app/
│   │   ├── page.tsx    # UI + Auth + DAG viewer
│   │   ├── layout.tsx
│   │   └── globals.css
│   ├── package.json
│   └── Dockerfile
│
├── jira-mock/
│   ├── server.py
│   └── requirements.txt
│
├── slack-mock/
│   ├── server.py
│   └── requirements.txt
│
├── github-mock/
│   ├── server.py
│   └── requirements.txt
│
└── sheets-mock/
    ├── server.py
    └── requirements.txt

______________________________________________________________________

不使用Docker运行

模拟MCP服务器

# Terminal 1
cd jira-mock && pip install -r requirements.txt && python server.py

# Terminal 2
cd slack-mock && pip install -r requirements.txt && python server.py

# Terminal 3
cd github-mock && pip install -r requirements.txt && python server.py

# Terminal 4
cd sheets-mock && pip install -r requirements.txt && python server.py

后端

cd backend
pip install -r requirements.txt
JIRA_MCP_URL=http://localhost:8081/sse \
SLACK_MCP_URL=http://localhost:8082/sse \
GITHUB_MCP_URL=http://localhost:8083/sse \
SHEETS_MCP_URL=http://localhost:8084/sse \
GEMINI_API_KEY=your-key \
JWT_SECRET=your-secret \
python main.py

# Tab 4 — Frontend
cd frontend && npm install
NEXT_PUBLIC_API_URL=http://localhost:8000 npm run dev

______________________________________________________________________

关键谈话要点

“注意,我们从来没有写过 if 'BUG' in command: call_jira(). LLM读取工具列表,并将逻辑本身以JSON的形式实时写入。 更改命令→ 计划改变了。添加工具→ 它被使用了。"
“我们添加了具有两个强制点的Auth+RBAC: 1. 工具发现-在Gemini看到之前过滤工具 1. 执行门-在运行时阻止禁用工具 实习生只能阅读Jira——他们甚至从未将Slack视为一种选择!"
“WRITE工具(如发布到Slack)会触发HITL批准。 在执行操作之前,必须得到人类的明确批准。 每次权限检查都会记录到SQLite中进行审核。"

目录标签

目录标签

工作流自动化多租户Python本地部署跨平台任务AI规划RBAC

接入字段

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

stdio

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

token

工具数量(toolCount,工具数)

9

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiotoken部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP