Build and publish custom MCP servers on AINative. Use when (1) Creating a new MCP server from scratch, (2) Adding tools to an existing MCP server, (3) Publishing an MCP server to ClawHub/npm, (4) Integrating an MCP server with Claude Code or Cursor, (5) Using FastMCP (Python) or the MCP SDK (Node.js). Closes #1523.
模型上下文协议(MCP)服务器公开了AI代理(Claude Code、Cursor、Windsurf等)可以直接调用的工具。AINative的MCP服务器(zerodb-mcp-server、zerodb-memory-mcp)就是以此方式构建的。
bash
pip install fastmcp
python
mcp = FastMCP(my-tools)
APIKEY = akyour_key
BASE = https://api.ainative.studio
@mcp.tool()
def getusercredits() -> dict:
获取当前用户的信用额度余额。
return requests.get(
f{BASE}/api/v1/public/credits/balance,
headers={X-API-Key: API_KEY}
).json()
@mcp.tool()
def search_memory(query: str, limit: int = 5) -> dict:
语义搜索代理记忆。
return requests.post(
f{BASE}/api/v1/public/memory/v2/recall,
headers={X-API-Key: API_KEY},
json={query: query, limit: limit}
).json()
@mcp.tool()
def storememory(content: str, memorytype: str = episodic) -> dict:
在代理记忆中存储一个事实或事件。
return requests.post(
f{BASE}/api/v1/public/memory/v2/remember,
headers={X-API-Key: API_KEY},
json={content: content, memorytype: memorytype}
).json()
if name == main:
mcp.run()
bash
python mymcpserver.py
bash
npm install @modelcontextprotocol/sdk
typescript
// server.ts
import { Server } from @modelcontextprotocol/sdk/server/index.js;
import { StdioServerTransport } from @modelcontextprotocol/sdk/server/stdio.js;
const server = new Server(
{ name: my-mcp-server, version: 1.0.0 },
{ capabilities: { tools: {} } }
);
server.setRequestHandler(tools/list, async () => ({
tools: [{
name: get_credits,
description: 获取当前信用额度,
inputSchema: { type: object, properties: {} }
}]
}));
server.setRequestHandler(tools/call, async (request) => {
if (request.params.name === get_credits) {
const resp = await fetch(https://api.ainative.studio/api/v1/public/credits/balance, {
headers: { X-API-Key: process.env.AINATIVEAPIKEY! }
});
return { content: [{ type: text, text: JSON.stringify(await resp.json()) }] };
}
});
const transport = new StdioServerTransport();
await server.connect(transport);
json
// .claude/mcp.json
{
mcpServers: {
my-tools: {
command: python,
args: [mymcpserver.py],
env: { AINATIVEAPIKEY: akyourkey }
}
}
}
对于已发布的npm包:
json
{
mcpServers: {
my-tools: {
command: npx,
args: [my-mcp-package],
env: { AINATIVEAPIKEY: akyourkey }
}
}
}
每个MCP工具都应有对应的技能文件,以便代理知道何时调用它:
markdown
简要描述和使用示例。
放置在 .claude/skills/my-tool-name/SKILL.md。
bash
npm publish
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 ainative-mcp-builder-1776064681 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 ainative-mcp-builder-1776064681 技能
skillhub install ainative-mcp-builder-1776064681
文件大小: 2.32 KB | 发布时间: 2026-4-14 10:45