mcpField
A
Atlarium Habitat Database MCP

Atlarium Habitat Database MCP

远程服务
github.com/techgardeners数据库07 周前更新
代码仓库

关于 Atlarium Habitat Database MCP

Atlarium Habitat Database MCP 是面向处理水族及其他栖息环境数据的 AI Agent 和客户端的公共只读服务。它整合物种与产品资料、诊断、计算和规划工具,并提供引导式提示词及兼容 Apps 的组件。

主要功能

  1. 01搜索物种、植物、产品和指南
  2. 02获取结构化公共档案
  3. 03检查物种兼容性和水参数
  4. 04搜索诊断及治疗参考资料
  5. 05计算鱼缸、水体和肥料数值
  6. 06通过提示词和组件规划栖息环境

适用场景

  1. 01研究适合鱼缸的物种和植物
  2. 02根据鱼缸条件检查兼容性
  3. 03查找藻类、疾病或植物问题的可能原因
  4. 04估算鱼缸需求或制定栖息环境方案

MCP 相关

通过 Streamable HTTP 提供 39 个公共只读工具和 9 个引导式提示词,无需认证。它还为兼容 Apps 的宿主提供只读 Habitat Explorer 组件。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.atlarium.bio/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

39
参数类型必填说明
querystring否用于匹配 Atlarium 公开记录的搜索文本。
languageenum否可选的首选响应语言:it、en 或 es。it | en | es
min_tank_litersnumber否以升为单位的最小鱼缸容积筛选条件。
max_tank_litersnumber否以升为单位的最大鱼缸容积筛选条件。
ph_minnumber否可接受的最低 pH 筛选条件。
ph_maxnumber否可接受的最高 pH 筛选条件。
gh_minnumber否最低总硬度筛选条件。
gh_maxnumber否最高总硬度筛选条件。
kh_minnumber否最低碳酸盐硬度筛选条件。
kh_maxnumber否最高碳酸盐硬度筛选条件。
temperature_minnumber否以摄氏度为单位的最低温度筛选条件。
temperature_maxnumber否以摄氏度为单位的最高温度筛选条件。
temperamentstring否性情筛选条件,例如温和或好斗。
care_levelstring否护理难度筛选条件,例如简单、中等或专家级。
limitinteger否要返回的公开记录的最大数量,最多为 50 条。
offsetinteger否公开搜索结果的从零开始的分页偏移量。

详细介绍

Atlarium Habitat Database MCP 社交媒体预览图

Atlarium Habitat Database MCP

为 Atlarium 栖息地数据、诊断、产品、计算器和规划建议提供公共只读 MCP 服务。

公共 MCP 监控 MCP 目录审计 MIT 许可证 官方 MCP 注册表 版本 2.0.3 传输方式:Streamable HTTP 只读 MCP 工具 已启用提示词 无身份验证

MCP 端点 · 面向用户的文档 · 服务卡片 · 技术文档 · 客户端示例

Atlarium Habitat Database MCP 为 AI Agent 提供结构化访问权限,可访问 Atlarium 的公共数据和面向水族箱、海洋水箱、冷水系统、陆生生态缸、两栖生态缸和活体生态缸的建议功能。它提供 39 个公共只读工具,涵盖物种、植物、产品、指南、藻类、疾病、植物问题、药物、兼容性、施肥、计算器和完整的栖息地规划,同时不会暴露 Atlarium 账户、私有工作区、管理 API 或写入操作。

概览

项目值
MCP 端点https://mcp.atlarium.bio/mcp
MCP 版本2.0.3
传输方式Streamable HTTP
身份验证无
工具范围39 个公共只读工具
提示词9 个引导式公共提示词
Apps 小组件ui://widget/habitat-explorer.v4.html
服务卡片https://mcp.atlarium.bio/.well-known/mcp/server-card.json
面向用户的文档https://atlarium.bio/mcp
官方 MCP 注册表bio.atlarium/habitat-database

https://atlarium.bio/mcp 是文档页面。规范的 Streamable HTTP MCP 端点为 https://mcp.atlarium.bio/mcp。

可构建的内容

用例公共工具
物种研究搜索鱼类、水生动物和植物,然后获取本地化的结构化档案。
水族箱兼容性根据水族箱尺寸、pH 值、硬度和温度限制比较物种。
诊断分诊从公开档案中搜索藻类、水生疾病、植物问题和治疗参考资料。
产品选择浏览产品类别、品牌、设备和肥料。
施肥支持搜索施肥方案,计算产品用量、营养缺口和每周总量。
水族箱计算器估算水族箱容积、重量、换水量、水质参数、单位换算结果和设备需求。
栖息环境规划生成完整的水族箱建议方案,包含物种、植物、产品、警告、动机和相关指南。
指南检索搜索和检索 Atlarium 的公开教育内容。

所有输出仅供参考。兼容性检查、诊断、施肥方案、设备估算、水族箱计算器和水族箱建议,都应结合实际生物、设备、水质、当地法规和饲养条件进行核实。

快速入门

使用任何支持远程 Streamable HTTP 服务的 MCP 客户端:

{
  "mcpServers": {
    "atlarium": {
      "type": "streamable-http",
      "url": "https://mcp.atlarium.bio/mcp"
    }
  }
}

Claude Code 远程 HTTP 示例:

claude mcp add --transport http atlarium https://mcp.atlarium.bio/mcp

对运行中的端点进行冒烟测试:

curl --fail --silent --show-error https://mcp.atlarium.bio/health
curl --fail --silent --show-error https://mcp.atlarium.bio/.well-known/mcp/server-card.json
pnpm mcp:monitor:public

客户端设置

客户端或宿主设置
OpenAI Agents SDK请参阅 examples/openai-agents-python,了解连接远程 Streamable HTTP 端点的 Python Agent。
Claude Code运行 claude mcp add --transport http atlarium https://mcp.atlarium.bio/mcp,然后让 Claude 使用 Atlarium。
Cursor使用 添加到 Cursor 的深层链接 或根目录中的 mcp.json。
Cline将托管端点添加为 Streamable HTTP 远程服务;llms-install.md 包含确定性的 Agent 设置说明。
Windsurf将 examples/windsurf/mcp_config.json 复制到 Windsurf MCP 设置中,然后刷新 Cascade MCP 服务。
VS Code复制 examples/vscode/mcp.json;VS Code 使用 type: "http" 表示远程 MCP 服务。
Antigravity仅在支持远程 MCP 服务的构建版本中使用 examples/antigravity/mcp.json。
通用 Streamable HTTP使用 examples/generic-streamable-http 中的 JSON-RPC 示例。
ChatGPT Apps现有应用版本 1.0.0 已在 OpenAI 控制面板中获批。修正后的 2.0.3 软件包已于 2026-08-29 重新提交,并包含分类稳定性测试;OpenAI Platform 目前显示为 Review。请使用 examples/chatgpt-apps 和 docs/chatgpt-review-remediation.md 查看审核说明和冒烟测试提示词。

这些是兼容性说明,并非供应商背书。除非供应商已接受相关上架申请,否则不要声称 ChatGPT、Claude、Cursor、Windsurf、VS Code、Antigravity 或任何目录提供支持。

ChatGPT 应用和小组件

该服务会为兼容 Apps 的宿主提供一个只读的 MCP Apps / ChatGPT Apps 小组件资源:

字段值
资源 URIui://widget/habitat-explorer.v4.html
MIME 类型text/html;profile=mcp-app
小组件Atlarium Habitat Explorer
小组件域名https://mcp.atlarium.bio
输出模式纯 JSON 文本和 structuredContent

小组件会呈现公开的栖息地搜索结果、档案、诊断摘要、产品搜索结果、计算器输出、兼容性摘要、施肥计划和栖息地建议。它不会增加写入权限,也不会公开工作区、身份验证、管理、日志、日程或测量数据。

仅供小组件开发使用的截图和一段简短演示录像已提交至 docs/assets/chatgpt-screenshots/ 和 docs/assets/chatgpt-app-demo.mp4。真实宿主环境下的网页和 390x844 响应式截图存放在 docs/assets/chatgpt-screenshots/real-host/;最终审核材料仍需提供原生 iOS/Android 录像。v4 / 2.0.3 候选版本已在 MCP 端点上线,但尚未获批成为新的 ChatGPT App 版本;在 OpenAI 接受之前,不要将该应用提交描述为已获批准。现有的仪表板应用版本 1.0.0 已获批准。

工具范围

区域工具
鱼类和水生动物search_fish、get_fish_profile
水生植物search_plants、get_plant_profile
产品和指南search_products、get_product_profile、search_guides、get_guide
诊断search_algae、get_algae_profile、search_diseases、get_disease_profile、search_plant_problems、get_plant_problem_profile、search_medicines、get_medicine_profile、match_diagnostic_profiles
产品目录list_product_categories、list_product_brands、search_equipment、get_equipment_profile、search_fertilizers、get_fertilizer_profile
兼容性和水质check_species_compatibility、get_water_parameters、suggest_species_for_tank
施肥search_fertilization_regimes、get_fertilization_regime、calculate_fertilizer_dose、calculate_nutrient_gaps、calculate_weekly_dose_totals、generate_fertilization_plan
计算器calculate_tank_volume、calculate_tank_weight、calculate_water_change、calculate_water_chemistry、convert_units、calculate_equipment_requirements
栖息地规划器suggest_habitat_for_tank

每个工具都注册了只读注解: readOnlyHint: true、openWorldHint: false、destructiveHint: false、 idempotentHint: true。

引导式提示词

该服务提供用于物种搜索、兼容性、栖息地规划、藻类、疾病、植物问题、产品选择、施肥和鱼缸计算的引导式提示词。这些提示词会引导客户端使用相同的公开只读工具范围;它们不会增加新功能或写入权限。

工具调用示例

每个示例都展示了 MCP 工具名称和最简有效 JSON 输入。通用 MCP 客户端会收到纯 JSON 文本;兼容 Apps 的宿主也可以使用 structuredContent。

目录、植物和指南
search_fish

用途:搜索鱼类和水生动物档案。

提示词:“为 90 L 水草缸寻找适合新手饲养的小型鱼类。”

{
  "query": "tetra",
  "language": "en",
  "min_tank_liters": 40,
  "max_tank_liters": 120,
  "limit": 5
}

输出:匹配的公开动物档案,包含 slug、本地化名称、摘要字段,以及可用时提供的公开 URL。

get_fish_profile

用途:获取一份结构化的鱼类或水生动物档案。

提示词:“请向我展示 Atlarium 上的霓虹灯鱼档案。”

{
  "slug": "paracheirodon-innesi",
  "language": "en"
}

输出:公开档案数据、饲养参数、分类、关联信息,以及可用时提供的本地化内容。

search_plants

用途:搜索水生植物档案。

提示词:“为低技术水草缸寻找易养的前景或中景植物。”

{
  "query": "anubias",
  "language": "en",
  "difficulty": "easy",
  "limit": 5
}

输出:匹配的公开植物档案,包含种植位置、难度,以及可用时提供的公开 URL。

get_plant_profile

用途:检索一份结构化水生植物档案。

提示词:“打开 Anubias barteri 的植物档案。”

{
  "slug": "anubias-barteri",
  "language": "en"
}

输出:植物需求、生长信息、结构化属性,以及可用的本地化内容。

search_products

用途:搜索公开的栖息地产品。

提示词:“查找适用于淡水鱼缸的过滤器产品。”

{
  "query": "filter",
  "language": "en",
  "category": "filter",
  "limit": 5
}

输出:产品搜索结果,包含品牌/类别信息,以及可用的公开产品 URL。

get_product_profile

用途:检索一份公开产品档案。

提示词:“显示此目录 slug 对应的产品档案。”

{
  "slug": "seachem/prime",
  "language": "en"
}

输出:结构化公开产品数据、用途、品牌详情,以及可用的链接。

search_guides

用途:搜索 Atlarium 指南和教育内容。

提示词:“查找关于鱼缸开缸的公开指南。”

{
  "query": "cycling",
  "language": "en",
  "topic": "aquarium",
  "limit": 5
}

输出:指南匹配结果,包含标题、摘要、主题,以及可用的公开 URL。

get_guide

用途:检索一份公开的 Atlarium 指南。

提示词:“打开氮循环指南。”

{
  "slug": "aquarium/nitrogen-cycle",
  "language": "en"
}

输出:结构化公开指南内容及相关元数据。

诊断和治疗参考资料
search_algae

用途:搜索藻类诊断档案。

提示词:“查找关于鱼缸玻璃上绿色粉尘藻的藻类档案。”

{
  "query": "green dust",
  "language": "en",
  "difficulty": 2,
  "limit": 5
}

输出:藻类匹配结果,包含症状、可能原因和建议指导。

get_algae_profile

用途:检索一份藻类档案。

提示词:“显示绿斑藻档案。”

{
  "slug": "green-spot-algae",
  "language": "en"
}

输出:结构化公开藻类档案,包含症状、原因、预防方法和建议应对措施。

search_diseases

用途:搜索水生生物疾病档案。

提示词:“查找关于鱼身上白点的疾病档案。”

{
  "query": "white spots",
  "language": "en",
  "water_type": "freshwater",
  "limit": 5
}

输出:可能的疾病档案和建议治疗参考资料。

get_disease_profile

用途:检索一份疾病档案。

提示词:“打开白点病档案。”

{
  "slug": "ich",
  "language": "en"
}

输出:症状、可能原因、治疗参考资料和免责声明。

search_plant_problems

用途:搜索水生植物缺素、虫害和环境问题档案。

提示词:“查找水族植物叶片发黄的原因。”

{
  "query": "yellow leaves",
  "language": "en",
  "type": "deficiency",
  "limit": 5
}

输出:植物问题匹配结果,包含症状、原因和建议的纠正措施。

get_plant_problem_profile

用途:检索一份植物问题档案。

提示词:“打开氮缺乏档案。”

{
  "slug": "nitrogen-deficiency",
  "language": "en"
}

输出:结构化缺素/问题数据和建议指导。

search_medicines

用途:搜索水族药品和治疗产品档案。

提示词:“查找关于白点病治疗的公开药品参考资料。”

{
  "query": "ich",
  "language": "en",
  "limit": 5
}

输出:药品/治疗参考资料,以及可用的公开档案数据。

get_medicine_profile

用途:检索一份药品档案。

提示词:“打开某个药品 slug 对应的档案。”

{
  "slug": "malachite-green",
  "language": "en"
}

输出:结构化公开药品参考资料、使用说明和免责声明。

match_diagnostic_profiles

用途:在藻类、疾病、植物问题和药品档案中匹配症状文本。

提示词:“匹配沉木上模糊的白色生长物和鱼类受压症状。”

{
  "query": "white fuzzy growth and fish flashing",
  "language": "en",
  "limit": 8
}

输出:按相关性分组的可能公开诊断档案。

产品、设备和肥料
list_product_categories

用途:列出设备和肥料的产品类别。

提示词:“有哪些公开的设备类别可用?”

{
  "language": "en",
  "type": "equipment"
}

输出:本地化的公开类别名称和标识符。

list_product_brands

用途:列出公开产品品牌。

提示词:“列出与 Seachem 匹配的品牌。”

{
  "language": "en",
  "query": "Seachem"
}

输出:匹配的公开品牌名称和元数据。

search_equipment

用途:搜索水族和栖息地设备产品。

提示词:“查找适用于淡水鱼缸配置的加热器。”

{
  "query": "heater",
  "language": "en",
  "use_case": "freshwater",
  "limit": 5
}

输出:设备产品匹配结果,包含结构化公开目录字段。

### `get_equipment_profile`

用途:检索一款设备产品的资料。

提示词:“打开这份设备资料。”

{
  "slug": "eheim/thermocontrol",
  "language": "en"
}

输出:可用时提供公开设备详情、类别、品牌和用途字段。

search_fertilizers

用途:搜索肥料产品和养分资料。

提示词:“查找适用于水草缸的液体肥料。”

{
  "query": "flourish",
  "language": "en",
  "category": "fertilizer",
  "limit": 5
}

输出:可用时提供匹配的肥料产品和养分元数据。

get_fertilizer_profile

用途:检索一款肥料的资料。

提示词:“打开这份肥料资料。”

{
  "slug": "seachem/flourish",
  "language": "en"
}

输出:可用时提供结构化肥料数据、施肥元数据和公开目录详情。

兼容性、水质与栖息环境建议
check_species_compatibility

用途:检查栖息环境中物种之间的基本兼容性。

提示词:“霓虹灯鱼和花鳅可以在 90 L 的水草缸中混养吗?”

{
  "species": ["Paracheirodon innesi", "Corydoras paleatus"],
  "language": "en",
  "tank_liters": 90,
  "ph": 6.8,
  "temperature": 24
}

输出:建议性的兼容性信号、警告、理由和限制条件。

get_water_parameters

用途:检索鱼类或植物所需的推荐水质参数。

提示词:“霓虹灯鱼适宜的水质参数是什么?”

{
  "slug": "paracheirodon-innesi",
  "type": "fish",
  "language": "en"
}

输出:可用时提供公开的温度、pH、GH/KH 和相关参数指导。

suggest_species_for_tank

用途:根据鱼缸和水质参数推荐水生物种。

提示词:“为 120 L 的水草缸推荐适合新手饲养的物种。”

{
  "tank_liters": 120,
  "language": "en",
  "ph": 6.8,
  "temperature": 24,
  "beginner_friendly": true,
  "planted_tank": true,
  "limit": 8
}

输出:公开物种建议,以及警告和基本理由。

suggest_habitat_for_tank

用途:建议一套完整的公开栖息环境方案。

提示词:“为 120 L 的鱼缸规划一套平衡的水草缸群落栖息环境。”

{
  "tank_liters": 120,
  "language": "en",
  "ph": 6.8,
  "temperature": 24,
  "beginner_friendly": true,
  "planted_tank": true,
  "co2": "low",
  "light_level": "medium",
  "setup_intent": "community",
  "target_difficulty": "balanced",
  "water_type": "FRESHWATER",
  "limit": 8
}

输出:鱼类、无脊椎动物、植物、产品、警告、建议理由、相关指南和建议性免责声明。

施肥
search_fertilization_regimes

用途:搜索施肥方案和施肥理念。

提示词:“查找适用于低技术水草缸的施肥方案。”

{
  "query": "low tech",
  "language": "en",
  "topic": "planted",
  "limit": 5
}

输出:可用时提供公开施肥方案匹配结果、摘要、主题和公开 URL。

get_fertilization_regime

用途:检索一种施肥方案。

提示词:“打开 Estimative Index 施肥方案资料。”

{
  "slug": "estimative-index",
  "language": "en"
}

输出:结构化的公开施肥理念/方案详情。

calculate_fertilizer_dose

用途:为目录中的产品和鱼缸水量计算建议性肥料剂量。

提示词:“计算 120 L 鱼缸使用 Seachem Flourish 的剂量。”

{
  "brand_name": "Seachem",
  "product_name": "Flourish",
  "volume_liters": 120
}

输出:建议性剂量估算和产品相关的施肥背景信息。

calculate_nutrient_gaps

用途:将养分测量值与目标值进行比较。

提示词:“将我的硝酸盐和钾测量值与水草缸目标值进行比较。”

{
  "language": "en",
  "volume_liters": 120,
  "measurements": [
    {
      "kind": "nitrogen_mg_l",
      "value": 5
    },
    {
      "kind": "potassium_mg_l",
      "value": 8
    }
  ],
  "targets": {
    "nitrogen_mg_l": 10,
    "potassium_mg_l": 15
  }
}

输出:养分差值估算,不保存测量值。

calculate_weekly_dose_totals

用途:计算非持久化施肥计划的每周总量。

提示词:“汇总我的每周液体肥料计划。”

{
  "language": "en",
  "volume_liters": 120,
  "items": [
    {
      "brand_name": "Seachem",
      "product_name": "Flourish",
      "method": "LIQUID",
      "dose_value": 5,
      "dose_unit": "ml",
      "days_of_week": [1, 3, 5]
    }
  ]
}

输出:每周产品总量和施用安排摘要。

generate_fertilization_plan

用途:生成建议性的非持久化施肥计划。

提示词:“为 120 L 的水草缸生成一份均衡的施肥计划。”

{
  "language": "en",
  "volume_liters": 120,
  "regime": "balanced",
  "targets": {
    "nitrogen_mg_l": 10,
    "phosphorus_mg_l": 1,
    "potassium_mg_l": 15,
    "iron_mg_l": 0.1
  }
}

输出:建议性计划、养分目标、产品建议和免责声明。

计算器
calculate_tank_volume

用途:计算鱼缸毛容积和净容积的估算值。

提示词:“计算尺寸为 60 x 30 x 36 cm 的鱼缸净容积。”

{
  "shape": "rect",
  "length_cm": 60,
  "width_cm": 30,
  "height_cm": 36,
  "substrate_depth_cm": 5,
  "hardscape_displacement_liters": 4
}

输出:毛容积和净容积估算值。

calculate_tank_weight

用途:根据尺寸和材料输入估算鱼缸重量。

提示词:“估算一个装满水的 120 L 鱼缸的重量。”

{
  "shape": "rect",
  "length_cm": 80,
  "width_cm": 35,
  "height_cm": 45,
  "glass_thickness_mm": 8,
  "substrate_depth_cm": 6,
  "hardscape_weight_kg": 12,
  "equipment_weight_kg": 5
}

输出:建议性的总重量估算和各组成部分的重量明细。

calculate_water_change

用途:计算换水量、每周总量和稀释估算值。

提示词:“每周换水两次,每次换掉 120 L 水的 30%,换水量是多少?”

{
  "volume_liters": 120,
  "change_percent": 30,
  "changes_per_week": 2
}

输出:每次换水量和每周总量估算值。

calculate_water_chemistry

用途:计算硬度换算值、CO2、盐度和混水比例。

提示词:“根据 pH 6.8 和 KH 4 估算 CO2。”

{
  "co2": {
    "ph": 6.8,
    "kh_dkh": 4
  },
  "general_hardness": {
    "unit": "dgh",
    "value": 8
  }
}

输出:公开的化学参数换算值和建议性估算值。

convert_units

用途:换算水族相关单位。

提示词:“换算 120 升和 24 C。”

{
  "volume": {
    "unit": "l",
    "value": 120
  },
  "temperature": {
    "unit": "c",
    "value": 24
  }
}

输出:支持单位的换算值。

calculate_equipment_requirements

用途:估算建议的加热、照明和用电需求。

提示词:“估算 120 L 水族箱的加热和照明需求。”

{
  "heater": {
    "volume_liters": 120,
    "ambient_c": 20,
    "target_c": 25,
    "insulation": "normal"
  },
  "lighting": {
    "volume_liters": 120,
    "lumens": 3600
  },
  "electricity": {
    "wattage": 100,
    "hours_per_day": 8,
    "cost_per_kwh": 0.25
  }
}

输出:建议性的设备估算值以及用电量/费用摘要。

发现与目录状态

目录状态
Official MCP Registry已以 bio.atlarium/habitat-database 发布;版本 2.0.3 处于启用状态且为最新版本。
GitHub规范的公开源代码仓库。
Glama所有权已验证;列表状态正常,包含 39 个工具和规范的 V2 描述。
Smithery已发布的列表;生产环境提供版本 2.0.3、39 个工具和 9 个提示词,目录刷新仍在等待处理。
MCP.so已公开列出;2.0.2 版本的刷新正在等待目录处理。
PulseMCP已公开列出;添加徽章前请确认徽章政策。
mcpservers.org已公开列出,地址为 techgardeners/atlarium-mcp;尚未添加徽章。
MCPRepository已发布的列表,其公开页面已验证。
MCP Market已公开列出,包含规范仓库和只读工具元数据。
MCP Scoreboard存在公开列表,目前尚未评分;未声称拥有评分徽章。
MCP Queen已验证的公开证据页面,包含实时协议探测。

发布跟踪和可复用的提交文案位于 config/distribution-registry.json、docs/publication-checklist.md、 docs/directory-submission-payloads.md 和 docs/mcp-submission-cockpit.md。 待处理、受阻和已拒绝的目标仍保留在运营注册表中, 不会作为已接受的公开列表呈现。

本地开发

pnpm install
cp .env.example .env
pnpm dev

默认情况下,服务会监听 http://localhost:43118。

针对 Atlarium 应用进行本地开发:

ATLARIUM_API_BASE_URL=http://localhost:43117/api/public/mcp/v1 pnpm dev

配置

  • MCP_PUBLIC_BASE_URL:公开基础 URL,生产环境默认值为 https://mcp.atlarium.bio。
  • ATLARIUM_API_BASE_URL:公开的只读 Atlarium API 基础 URL。
  • MCP_ALLOWED_HOSTS:以逗号分隔的主机允许列表,用于防止 DNS 重绑定。
  • MCP_TRUST_PROXY:Express 代理信任设置;默认值 1 表示生产环境中有一个受信任的反向代理。
  • ATLARIUM_API_TIMEOUT_MS:上游公开 API 超时时间,单位为毫秒(默认值为 15000)。
  • MCP_PUBLIC_PROBE_ATTEMPTS:只读公开监控的尝试次数(默认值为 3)。
  • MCP_PUBLIC_PROBE_RETRY_DELAY_MS:公开监控的初始重试延迟;每次失败后延迟加倍(默认值为 1000)。
  • ATLARIUM_API_RESPONSE_MAX_BYTES:上游 JSON 响应的最大大小。
  • OPENAI_APPS_CHALLENGE_TOKEN:公开的 OpenAI Apps 域名验证令牌,通过 /.well-known/openai-apps-challenge 提供。

生产部署必须置于 TLS 终止反向代理或 Ingress 后方;在流量到达此服务之前, 该代理或 Ingress 必须覆盖 X-Forwarded-For、X-Forwarded-Host 和 X-Forwarded-Proto。

质量门禁

pnpm lint
pnpm typecheck
pnpm test
pnpm build
pnpm audit:prod
docker build -t atlarium-mcp:local .

本地服务运行时:

pnpm mcp:conformance

生产 DNS 和 TLS 启用后:

pnpm mcp:monitor:public
pnpm directories:submit -- --check
pnpm mcp:validate:public
pnpm mcp:conformance:public

贡献

请参阅 CONTRIBUTING.md。公开工具的变更必须在同一版本中同步更新服务实现、测试、服务卡元数据、server.json、README.md、docs/mcp.md、文档、示例和目录发布说明。

安全

请参阅 SECURITY.md。请勿在公开的 GitHub 问题中报告敏感安全问题。

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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