Base.vn FastMCP Server
Base.vn FastMCP Server (Python)
Base.vn FastMCP Server cung cấp đầy đủ các công cụ MCP chuẩn hóa để tích hợp các AI Agent (Hermes Agent, Claude Desktop, Cursor, Antigravity, AutoGen, CrewAI, LangChain) vào hệ sinh thái Base.vn (Base Account & Base Wework).
✨ Tính năng nổi bật
⚡ Xây dựng trên nền tảng FastMCP (Python): Tốc độ cao, tối ưu chuẩn giao thức MCP, hỗ trợ cả Stdio và SSE / HTTP Streaming.
👥 Base Account API (v1):
Tra cứu danh bạ nhân sự, tìm kiếm dev theo Username / Email.
Quản lý phòng ban, nhóm làm việc (Units / Groups).
Tự động Onboarding / Offboarding tài khoản nhân viên.
📋 Base Wework API (v3):
Quản lý Dự án (Projects), Team làm việc, phân quyền thành viên.
Tạo, giao việc, cập nhật task, gắn tag, set deadline, mức độ khẩn cấp (urgent), custom fields.
Đánh dấu hoàn thành task (
mark done).Quản lý danh sách công việc (Tasklists), thảo luận (Topics).
Báo cáo công việc cá nhân (
user_tasks,user_activities,user_overview).
🤖 Dynamic Resources & Prompts:
base://account/users: Danh bạ 65+ nhân viên công ty theo thời gian thực.base://wework/projects: Danh sách dự án đang chạy trên Wework.base://wework/departments: Danh sách phòng ban.base://wework/members: Danh sách thành viên / dev để phân công công việc.Prompt tạo Daily Standup tự động cho dev team (
daily_standup_summary).Prompt phân rã Requirement thành Task trên Base Wework (
create_sprint_tasks).
📂 Cấu trúc mã nguồn
BaseMCP/
├── base_mcp/
│ ├── clients/
│ │ ├── base_client.py # Async HTTP client (httpx)
│ │ ├── account_client.py # Base Account API Client
│ │ └── wework_client.py # Base Wework API Client
│ ├── tools/
│ │ ├── account_tools.py # Account MCP Tools
│ │ └── wework_tools.py # Wework MCP Tools
│ ├── resources/
│ │ └── resources.py # MCP Dynamic Resources
│ ├── prompts/
│ │ └── prompts.py # MCP Prompts
│ ├── utils/
│ │ ├── date_helpers.py # Format ngày dd/mm/YYYY, giờ HH:mm
│ │ ├── username_helpers.py # Xử lý prefix @username
│ │ ├── custom_fields.py # Custom fields mapper (custom_{key})
│ │ └── error_handler.py # Xử lý phản hồi Base API
│ ├── config.py # Environment configuration loader
│ ├── server.py # FastMCP Server definition
│ └── __init__.py
├── main.py # Server entrypoint (Stdio / SSE)
├── test_python_mcp.py # Integration test suite
├── requirements.txt # Python dependencies
├── .env # Environment variables (Tokens)
└── README.md🚀 Cài đặt & Cấu hình
1. Cài đặt thư viện Python
pip install -r requirements.txt2. Cấu hình file .env
Tạo hoặc chỉnh sửa file .env tại thư mục gốc:
# Base Account API Access Token (v2)
BASE_ACCOUNT_ACCESS_TOKEN_V2=your_base_account_access_token_v2_here
# Base Wework API Access Token (v3)
BASE_WEWORK_ACCESS_TOKEN=your_base_wework_access_token_here
# Domain Base.vn (Mặc định: base.vn)
BASE_DOMAIN=base.vn
# Username mặc định của bot/admin khi tạo task/project
BASE_WEWORK_DEFAULT_CREATOR=@admin
# Timeout (ms)
BASE_API_TIMEOUT_MS=30000
# Enable debug logging
BASE_MCP_DEBUG=false3. Chạy kiểm thử tự động
python3 test_python_mcp.py🔌 Hướng dẫn tích hợp AI Agent
1. Hermes Agent Dashboard (Khuyên dùng)
Trong modal ADD MCP SERVER trên Hermes Dashboard:
Trường | Giá trị cần điền |
NAME |
|
TRANSPORT |
|
COMMAND |
|
ARGS |
|
ENVIRONMENT | Điền các biến môi trường (mỗi dòng 1 biến): |
BASE_ACCOUNT_ACCESS_TOKEN_V2=your_base_account_access_token_v2_here
BASE_WEWORK_ACCESS_TOKEN=your_base_wework_access_token_here
BASE_DOMAIN=base.vn
BASE_WEWORK_DEFAULT_CREATOR=@adminHoặc kết nối qua SSE Server:
Mở terminal chạy:
python3 main.py --transport sse --port 3001Trong Hermes Dashboard:
TRANSPORT:
sseURL:
http://localhost:3001/sse
2. Claude Desktop
Thêm vào ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"base-vn": {
"command": "/opt/homebrew/bin/python3.11",
"args": ["/path/to/BaseMCP/main.py"],
"env": {
"BASE_ACCOUNT_ACCESS_TOKEN_V2": "your_base_account_access_token_v2_here",
"BASE_WEWORK_ACCESS_TOKEN": "your_base_wework_access_token_here",
"BASE_DOMAIN": "base.vn",
"BASE_WEWORK_DEFAULT_CREATOR": "@admin"
}
}
}
}3. Cursor & Antigravity IDE
Thêm vào file cấu hình MCP (mcp_config.json):
{
"mcpServers": {
"base-vn": {
"command": "/opt/homebrew/bin/python3.11",
"args": ["/path/to/BaseMCP/main.py"]
}
}
}🛠 Danh sách MCP Tools (51 Tools)
Nhóm | Công cụ | Mô tả |
Account |
| Lấy danh sách toàn bộ nhân viên công ty |
| Tìm kiếm nhân viên theo Email hoặc Username | |
| Tạo mới tài khoản nhân viên | |
| Cập nhật hồ sơ nhân viên | |
| Vô hiệu hóa tài khoản nhân viên | |
| Kích hoạt lại tài khoản | |
| Lấy danh sách nhân viên cấp dưới của quản lý | |
| Lấy danh sách phòng ban, đơn vị tổ chức | |
| Xem chi tiết nhóm/phòng ban theo path | |
| Tạo nhóm/phòng ban mới | |
| Sửa thông tin nhóm/phòng ban | |
| Thiết lập danh sách quản lý nhóm | |
| Gán quyền ứng dụng cho nhân viên | |
| Lấy nhật ký hệ thống | |
| Xem lịch sử đăng nhập nhân viên | |
Wework Projects |
| Lấy danh sách dự án và team |
| Xem tóm tắt dự án | |
| Xem chi tiết dự án và task | |
| Lấy danh sách thành viên/quản lý trong 1 dự án | |
| Lấy danh sách tất cả dev trong workspace | |
| Tạo dự án / team mới | |
| Chỉnh sửa thông tin dự án | |
| Thêm quản lý dự án | |
| Thiết lập lại quản lý dự án | |
| Chuyển đổi vai trò quản lý | |
| Thêm thành viên vào dự án | |
| Thiết lập lại thành viên dự án | |
| Chuyển đổi thành viên sang dự án khác | |
| Xóa thành viên khỏi dự án | |
Wework Tasks |
| Tạo task mới, giao việc, deadline, urgent |
| Chỉnh sửa task | |
| Xem chi tiết task | |
| Đánh dấu hoàn thành task | |
| Xem danh sách bình luận task | |
| Xem lịch sử cập nhật task | |
| Xem custom table của task | |
| Lọc task trong dự án | |
Wework Depts |
| Danh sách phòng ban Wework |
| Chi tiết phòng ban | |
| Tạo phòng ban mới | |
| Sửa phòng ban | |
| Xóa phòng ban | |
| Thêm quản lý phòng ban | |
| Xóa quản lý phòng ban | |
Wework Tasklists & Topics |
| Xem chi tiết tasklist |
| Tạo tasklist mới | |
| Danh sách bài thảo luận | |
| Chi tiết bài thảo luận | |
User & Overview |
| Lấy danh sách task của 1 dev |
| Xem hoạt động gần đây của dev | |
| Báo cáo tổng hợp toàn diện về dev |
📄 License
Mã nguồn được phát hành theo giấy phép MIT License.