Nosana MCP代理
ElizaOS AI代理+MCP工具+Qwen3.5 9B去中心化GPU
 
一个开源的人工智能代理,由 问题3.5(9B) 通过Ollama在当地跑步 Nosana的去中心化GPU网络。推理不需要外部API密钥。通过以下方式连接到外部工具 MCP(模型上下文协议).
Fork it. Configure it. Deploy it to a GPU in one command.TL;DR——在3个命令中部署
git clone https://github.com/SohniSwatantra/nosana-mcp-agent.git && cd nosana-mcp-agent
make push DOCKER_USER=your-dockerhub-username
make deploy NOSANA_MARKET=nvidia-a5000这有什么作用
- 本地法学硕士:Qwen3.5 9B通过Ollama在GPU上运行-不需要API密钥
- MCP客户端:连接到外部MCP服务器(文件系统、GitHub等)以访问工具
- MCP服务器:将代理暴露为Claude Desktop和其他MCP客户端的MCP服务器
- HTTP API:端口3000上的REST端点用于健康检查、信息和聊天
- GPU优化:与Ollama一起容器化,用于Nosana GPU部署
- 开源:MIT授权、分叉和定制
先决条件
- 包子 1.3+
- 码头工人
- Nosana CLI (
npm install -g @nosana/cli) - 奥拉玛 (用于地方发展)
- Solana钱包+NOS代币(用于Nosana部署)
快速入门(本地)
# 1. Install Ollama and pull the model
ollama pull qwen3.5:9b
ollama pull nomic-embed-text:latest
# 2. Install dependencies
bun install
# 3. Start the agent (Ollama must be running)
bun run start
# 4. Test it
curl http://localhost:3000/health
curl -X POST http://localhost:3000/chat \
-H "Content-Type: application/json" \
-d '{"message": "Hello, what tools do you have?"}'模型配置
代理默认使用Qwen3.5 9B,配置在 character.json:
{
"settings": {
"OLLAMA_URL": "http://localhost:11434",
"OLLAMA_SMALL_MODEL": "qwen3.5:9b",
"OLLAMA_LARGE_MODEL": "qwen3.5:9b",
"OLLAMA_EMBEDDING_MODEL": "nomic-embed-text:latest"
}
}要使用其他模型,请在中更改模型名称 character.json 和那个 OLLAMA_MODEL Dockerfile/job定义中的env-var。Qwen3.5 9B为6.6GB,需要约8GB的VRAM,适合RTX A5000(16GB)或RTX 5000。
MCP配置
MCP服务器连接已在中配置 character.json 在...之下 settings.mcp.servers:
{
"settings": {
"mcp": {
"servers": {
"filesystem": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/app/data"]
}
}
}
}
}添加更多MCP服务器
编辑 character.json 要添加服务器,请执行以下操作:
{
"github": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "your-token" }
},
"puppeteer": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-puppeteer"]
}
}支持的服务器类型
| 类型 | 描述 | 必填字段 |
|---|---|---|
stdio | 通过stdin/stdout的本地进程 | command, args |
sse | 通过HTTP SSE远程服务器 | url |
HTTP API终结点
| 方法 | 路径 | 描述 |
|---|---|---|
| 得到 | / 或 /health | 健康检查+正常运行时间+型号信息 |
| 得到 | /info | 代理信息+MCP服务器列表 |
| 职位 | /chat | 发送消息({"message": "...", "userId?": "..."}) |
码头工人
构建
docker build -t nosana-mcp-agent .该图像包括Ollama,并将在第一次启动时自动拉取Qwen3型号。
本地运行(需要NVIDIA GPU+Docker GPU支持)
docker run --gpus all -p 3000:3000 nosana-mcp-agent没有GPU(CPU推理,速度慢得多):
docker run -p 3000:3000 nosana-mcp-agent推送到Docker Hub
docker tag nosana-mcp-agent SohniSwatantra/nosana-mcp-agent:latest
docker push SohniSwatantra/nosana-mcp-agent:latest部署到Nosana
1.更新job-definition.json
编辑 job-definition.json 并替换 YOUR_DOCKERHUB_USERNAME 使用您的Docker Hub用户名。
2.发布工作
# Deploy to RTX A5000 market (16GB VRAM, ideal for Qwen3.5 9B)
nosana job post \
--file job-definition.json \
--market nvidia-a5000 \
--gpu \
--wait
# Or target RTX 4090 (24GB VRAM)
nosana job post \
--file job-definition.json \
--market nvidia-4090 \
--gpu \
--wait3.检查可用的GPU市场
nosana market list4.监控你的工作
nosana job get Claude桌面集成
要将此代理用作Claude Desktop的MCP服务器(需要本地Ollama):
{
"mcpServers": {
"nosana-agent": {
"command": "bun",
"args": ["run", "start"],
"cwd": "/path/to/nosana-mcp-agent",
"env": {
"MCP_STDIO": "true"
}
}
}
}项目结构
nosana-mcp-agent/
character.json # Agent character + model + MCP server configuration
server.ts # Main agent server (HTTP + MCP)
entrypoint.sh # Docker entrypoint (starts Ollama, pulls model, starts agent)
test-client.ts # HTTP API test client
Dockerfile # Production container with Ollama
job-definition.json # Nosana GPU deployment definition
package.json # Dependencies and scripts
data/ # Directory accessible to MCP filesystem server
.env.example # Environment variable template环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
OLLAMA_MODEL | 没有 | qwen3.5:9b | Ollama拉发球的模型 |
OLLAMA_EMBEDDING_MODEL | 没有 | nomic-embed-text:latest | 嵌入模型 |
OLLAMA_HOST | 没有 | 0.0.0.0:11434 | Ollama服务器绑定地址 |
PORT | 没有 | 3000 | HTTP服务器端口 |
MCP_STDIO | 没有 | false | 启用MCP stdio服务器模式 |
NODE_ENV | 否 | -- | 设置为 production 在Docker中 |
GPU要求
| 型号 | 尺寸 | 所需VRAM | 推荐的Nosana市场 |
|---|---|---|---|
| qwen3.5:4b | 2.7GB | ~4GB | nvidia-a4000,nvidia-3060-社区 |
| qwen3.5:9b | 6.6GB | ~8GB | nvidia-a5000,nvidia-4090 |
| qwen3.5:14b | 9.5GB | ~12GB | nvidia-a5000,nvidia-4090 |
| qwen3.5:32b | 21GB | ~24GB | nvidia-a100-40gb,nvidia-6000-ada |
