1.任务目标
智能体需要标准化且安全的“手”来执行实际任务。学习:JSON-RPC、严格的 Pydantic 规范、MCP 服务器/客户端架构、以及动态工具调用方式。
2.任务目的
企业环境有他的特殊性,很多现有的API封装方案很难落地;我们需要自己来编写控制相关API接口
3. 原生 MCP Server
JSON-RPC 2.0 over stdio
严格使用 Pydantic 做请求/参数校验
对接本地 PostgreSQL
内置身份认证(Token)+ 细粒度权限控制(角色 → 工具 + 表级读写)
动态工具发现(tools/list)与调用(tools/call)
兼容主流客户端的 initialize 握手流程(Claude Desktop / Cursor 等仍广泛使用)
3.1 环境准备
# 依赖(仅标准库 + 必要第三方,无 MCP SDK)
pip install pydantic psycopg2-binary python-dotenv
# 本地 Postgres 示例(Docker)
docker run -d --name mcp-pg \
-e POSTGRES_PASSWORD=secret \
-e POSTGRES_DB=mcpdemo \
-p 5432:5432 \
postgres:16创建数据库
CREATE TABLE customers (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
email TEXT,
balance NUMERIC(12,2) DEFAULT 0
);
CREATE TABLE orders (
id SERIAL PRIMARY KEY,
customer_id INT REFERENCES customers(id),
amount NUMERIC(12,2),
status TEXT
);
INSERT INTO customers (name, email, balance) VALUES
('Alice', 'alice@example.com', 1000),
('Bob', 'bob@example.com', 500);
INSERT INTO orders (customer_id, amount, status) VALUES
(1, 99.5, 'paid'),
(2, 200, 'pending');
评论区