mcpField
T
Together.ai Mcp

Together.ai Mcp

本地服务
github.comAI 与智能体029 周前更新

关于 Together.ai Mcp

Together.ai Mcp 是一个 Node.js MCP 服务,将 Together AI 的聊天、图像生成、视觉分析和嵌入接口提供为工具,适用于 Claude Desktop、Cursor、VS Code 等 MCP 客户端。它还处理推理模型的响应字段差异,并提高默认 token 预算以避免空响应。

主要功能

  1. 01调用聊天与推理模型
  2. 02生成并保存图像
  3. 03使用视觉模型分析图像
  4. 04生成文本嵌入向量
  5. 05处理推理模型的多种响应字段

适用场景

  1. 01在 MCP 客户端中调用 Together AI 聊天模型
  2. 02生成图像并保存为 PNG 文件
  3. 03向视觉模型提交远程或本地图片分析
  4. 04为 RAG 或检索流程生成文本嵌入

MCP 相关

它向 MCP 客户端公开 Together AI 的聊天、图像生成、视觉分析和嵌入能力,作为可调用工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

together-ai-mcp

一个 Node.js Model Context Protocol(MCP)服务,将 Together AI 的推理端点(聊天补全、图像生成、视觉和嵌入)公开为工具,可供 Claude Desktop、Cursor、VS Code 和其他任何兼容 MCP 的客户端调用。

为何创建此项目

我创建此 MCP,是因为通过 Together AI 访问模型时遇到了几个问题。

1. 推理模型返回无提示空响应

Together AI 最大的推理模型(GLM-5、Qwen3.5-397B、MiniMax M2.5、Kimi K2.5)会将思维链写入非标准响应字段,并且在生成最终答案前就会耗尽 OpenAI SDK 的默认令牌预算。

两个问题相互叠加:

令牌预算耗尽。 OpenAI SDK 将默认 max_tokens 设为 2048。对于推理模型,这一预算会被思考阶段完全耗尽,导致 message.content 始终为空。你会被收取令牌费用,但不会收到任何错误,响应也会悄无声息地变成空内容。

响应字段分散。 Together AI 上不同的模型系列会将输出写入不同字段:

字段使用者
message.content标准模型;Qwen(内联 <think> 标签)
message.reasoning_contentDeepSeek 风格格式
message.reasoningTogether AI 格式(GLM-5、MiniMax、Kimi)

任何只读取 message.content(甚至使用 message.content \|\| message.reasoning)的代码,在某些模型上都会悄无声息地返回空字符串。

// Broken — misses reasoning_content (DeepSeek format):
const text = message.content || message.reasoning || '';

// Fixed — covers all Together AI reasoning model formats:
const text = message.content || message.reasoning_content || message.reasoning || '';

默认 max_tokens 会提高到 8192,为推理模型提供足够的预算,使其能在生成最终答案前完成思维链。

2. 视觉模型故障

使用 OpenAI SDK 的 chat.completions.create() 发起视觉请求时,Together AI 的视觉 API 会静默失败。Together AI 要求显式设置 stream: false;SDK 可能不会发送该参数。如果请求失败,SDK 错误中不包含响应正文,因此无法查明根本原因。

// Broken — SDK may omit stream:false; errors are opaque:
const response = await openai.chat.completions.create({ model, messages });

// Fixed — raw fetch, explicit stream:false, full error body in exception:
const response = await fetch('https://api.together.xyz/v1/chat/completions', {
  method: 'POST',
  headers: { Authorization: `Bearer ${apiKey}`, 'Content-Type': 'application/json' },
  body: JSON.stringify({ model, messages, max_tokens, stream: false }),
});
if (!response.ok) {
  const body = await response.text();
  throw new Error(`Vision API error ${response.status}: ${body.slice(0, 200)}`);
}

功能

  • 聊天补全 — 支持任意 Together AI 文本或推理模型,完整支持提示词和多轮消息
  • 推理模型支持 — 正确处理 GLM-5、Qwen3.5-397B、MiniMax M2.5、Kimi K2.5(见上文)
  • 图像生成 — FLUX.1-dev、FLUX.1-schnell、Stable Diffusion XL;图像保存到磁盘
  • 视觉 — 通过 Llama 3.2 Vision 或 Qwen 2.5 VL 分析图像
  • 嵌入 — 通过 BGE 和 Snowflake Arctic 模型为 RAG/检索工作流生成向量

安装

前提条件
设置
git clone https://github.com/your-username/together-ai-mcp
cd together-ai-mcp
npm install
cp .env.example .env
# Edit .env and add your TOGETHER_API_KEY
添加到 Claude Desktop

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "together-ai": {
      "command": "node",
      "args": ["/absolute/path/to/together-ai-mcp/index.js"],
      "env": {
        "TOGETHER_API_KEY": "your_api_key_here",
        "IMAGE_OUTPUT_DIR": "/path/to/save/images"
      }
    }
  }
}

请参阅 examples/claude-config.md,了解 Cursor 和 VS Code 配置。


工具

together_chat

调用任意 Together AI 聊天或推理模型。

参数类型默认值描述
modelstringmeta-llama/Llama-3.3-70B-Instruct-Turbo模型 ID
promptstring—用户消息(使用此参数或 messages)
messagesarray—多轮 [{role, content}] 数组
systemstring—系统提示词(仅与 prompt 搭配使用)
temperaturenumber0.70.0–2.0
max_tokensinteger8192从 SDK 默认值提高,为推理模型的思维链提供足够预算
together_generate_image

使用 FLUX 或 SDXL 模型生成图像。

参数类型默认值描述
promptstring必填图像描述
modelstringblack-forest-labs/FLUX.1-schnell模型 ID
widthinteger1024图像宽度(像素)
heightinteger1024图像高度(像素)
stepsinteger4扩散步数
ninteger1图像数量
negative_promptstring—要排除的内容

图像会以 PNG 文件格式保存到 IMAGE_OUTPUT_DIR。

注意: 图像生成使用直接的 fetch 调用,而不是 OpenAI SDK 的 images.generate(),因为 SDK 在调用 Together AI 端点时会移除 steps 等自定义参数。

together_vision

使用视觉模型分析图像。

参数类型默认值描述
promptstring必填问题或指令
modelstringmeta-llama/Llama-3.2-11B-Vision-Instruct模型 ID
image_urlstring—公开图像 URL
image_pathstring—本地文件路径(会转换为 base64)
max_tokensinteger1024响应长度上限
together_embed

为 RAG 和检索工作流生成文本嵌入。

参数类型默认值描述
inputstring | string[]必填要生成嵌入的文本
modelstringBAAI/bge-large-en-v1.5嵌入模型 ID

模型

此服务支持 Together AI 无服务器 API 上的任何模型——只需传入其模型 ID。无需更改配置。

下表列出的是我个人使用的模型,仅供参考,并非硬性限制。

查找模型 ID

在 api.together.ai/models 浏览所有可用模型。每个模型的页面都会显示其精确 ID 字符串。将该 ID 作为 model 参数传递给任意工具:

{
  "tool": "together_chat",
  "params": {
    "model": "any-model-id-from-together-ai",
    "prompt": "Hello"
  }
}

唯一的限制是:图像生成模型必须通过 together_generate_image 调用,视觉模型必须通过 together_vision 调用,嵌入模型必须通过 together_embed 调用——不能通过 together_chat 调用图像模型。

专用端点: 某些模型(例如 meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8)需要使用专用端点,而非无服务器 API。通过此服务调用这些模型会收到 Together AI 返回的 400 错误。


我使用的模型
聊天 / 推理
模型ID备注
Llama 3.3 70Bmeta-llama/Llama-3.3-70B-Instruct-Turbo默认模型——快速通用
DeepSeek V3deepseek-ai/DeepSeek-V3擅长代码和推理
DeepSeek R1deepseek-ai/DeepSeek-R1推理模型
GLM-5 (744B)zai-org/GLM-5推理模型——需要应用上述修复
Qwen3.5 397BQwen/Qwen3.5-397B-A17B推理模型——需要应用上述修复
MiniMax M2.5MiniMaxAI/MiniMax-M2.5推理模型——需要应用上述修复
Kimi K2.5moonshotai/Kimi-K2.5推理模型——需要应用上述修复
Qwen 2.5 7BQwen/Qwen2.5-7B-Instruct-Turbo轻量 / 低成本
图像生成
模型ID
FLUX.1-schnellblack-forest-labs/FLUX.1-schnell
FLUX.1-devblack-forest-labs/FLUX.1-dev
Stable Diffusion XLstabilityai/stable-diffusion-xl-base-1.0
视觉
模型ID
Llama 3.2 11B Visionmeta-llama/Llama-3.2-11B-Vision-Instruct
Qwen 2.5 VL 72BQwen/Qwen2.5-VL-72B-Instruct
嵌入
模型ID
BGE LargeBAAI/bge-large-en-v1.5
M2-BERT 32Ktogethercomputer/m2-bert-80M-32k-retrieval
Snowflake ArcticSnowflake/snowflake-arctic-embed-m

运行测试

npm test

测试套件使用 Node.js 内置的测试运行器,并模拟所有外部依赖——运行测试无需 API 密钥。


项目结构

together-ai-mcp/
├── index.js              # MCP server and handler logic
├── package.json
├── .env.example
├── test/
│   └── index.test.js     # Full test suite (node:test, no external framework)
└── examples/
    ├── chat.md           # Example prompts for each tool and model
    └── claude-config.md  # Configuration for Claude Desktop, Cursor, VS Code

依赖项


许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。