Token导航 LogoToken导航TokenDH.com
Elm Package MCP Server logo
开发工具未说明官方级别未说明来源级核验

Elm Package MCP Server

MCP Server

一个提供Elm语言包文档查询功能的MCP服务器,支持依赖列表获取、README读取、导出函数查询等功能。

工具数

5

提示词数

0

GitHub Stars

1

资源数

0
包管理RustClaude开发工具Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

caseyWebb

提供方

caseyWebb

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Elm软件包MCP服务器

\[!警告\] 已弃用: 此MCP服务器已被替换为 基于Claude代码技能的插件 其提供相同的功能,而不需要单独的服务器进程。 迁移,调用 migrate-to-skills 在Claude Code中提示,或按照以下步骤操作: 1. /plugin marketplace add caseyWebb/elm-claude-plugin 1. /plugin install elm@caseyWebb 1. claude mcp remove elm-packages 新插件需要 curljq 待安装。
\[!小心\] 这是氛围编码。我几乎不了解Rust。我已经阅读了代码,但使用风险自负。

![CI](https://github.com/caseyWebb/elm-package-mcp-server/actions/workflows/ci.yml) ![Nightly Build](https://github.com/caseyWebb/elm-package-mcp-server/actions/workflows/nightly.yml) ](https://github.com/caseyWebb/elm-package-mcp-server/releases/latest) ![License](LICENSE)

一个MCP(模型上下文协议)服务器,提供查找Elm包文档的工具。该服务器允许AI助手读取elm.json文件,并从官方的elm包存储库中获取包文档。

特性

  • 列出Elm软件包:列出Elm.json中所有直接和间接的Elm语言依赖项
  • 获取Elm包README:通过指定作者、名称和版本,获取任何Elm包的README内容
  • 获取Elm包导出:获取Elm包模块的所有导出及其类型签名,但不带注释(更有效地探索可用函数)
  • 获取Elm包导出文档:获取Elm包模块中特定导出(函数、类型或别名)的文档注释

安装

使用npx(推荐)

使用此MCP服务器的最简单方法是通过npx(仅限macOS)。

使用Claude代码快速设置

claude mcp add elm-packages npx @caseywebb/elm-package-mcp-server

手动配置(.mcp.json)

{
  "mcpServers": {
    "elm-package": {
      "command": "npx",
      "args": ["@caseywebb/elm-package-mcp-server"]
    }
  }
}

来自GitHub发布

最简单的安装方法是从 最新版本.

  1. 下载适合您平台的二进制文件:

- Linux x86_64: elm-package-mcp-server-linux-x86_64.tar.gz - macOS x86_64(英特尔): elm-package-mcp-server-macos-x86_64.tar.gz - macOS aarch64(苹果硅): elm-package-mcp-server-macos-aarch64.tar.gz

  1. 提取二进制文件:
   tar xzf elm-package-mcp-server-*.tar.gz
  1. 将二进制文件移动到PATH中的某个位置:
   # System-wide installation
   sudo mv elm-package-mcp-server /usr/local/bin/

   # User installation
   mv elm-package-mcp-server ~/.local/bin/
  1. 确保二进制文件可执行:
   chmod +x /path/to/elm-package-mcp-server

从源头构建

  1. 确保你已经安装了Rust(https://rustup.rs/)
  2. 克隆此存储库
  3. 构建二进制文件:
cargo build --release

二进制文件将在 target/release/elm-package-mcp-server

用法

服务器必须从包含elm.json文件的目录或elm项目的任何子目录运行。它将通过搜索目录树自动找到elm.json文件。

可用工具

服务器提供了五个使用Elm包的工具。所有工具都以前缀 elm 在使用Elm语言项目时,帮助提高可发现性。

list_installed_packages

列出Elm.json文件中的所有Elm包。此工具可发现项目中可用的Elm语言依赖关系。

参数:

  • include_indirect (可选,布尔值):包括间接依赖关系(默认值:false)

示例响应:

{
  "packages": [
    {
      "author": "elm",
      "name": "core",
      "version": "1.0.5",
      "type": "direct"
    }
  ],
  "total": 1,
  "direct_count": 1,
  "indirect_count": 0
}

搜索包

在Elm包注册表中搜索与查询匹配的包。对包名称和描述使用模糊匹配。非常适合发现新包裹。

参数:

  • query (必填,字符串):搜索查询-可以是包名、关键字或您要查找的内容的描述(例如,“json解码”、“http”、“日期格式”)
  • already_included (可选,布尔值):包含elm.json中已有的包(默认值:true)。设置为false仅显示尚未安装的软件包。

示例响应:

{
  "query": "json",
  "results": [
    {
      "name": "elm/json",
      "summary": "Encode and decode JSON values",
      "license": "BSD-3-Clause",
      "version": "1.1.3"
    }
  ],
  "count": 1,
  "excluded_installed": false
}

get_elm_package_readme

从package.Elm-lang.org获取特定Elm语言包的README文档。

参数:

  • author (必填,字符串):包作者(例如“elm”)
  • name (必填,字符串):包名称(例如“core”)
  • version (必填,字符串):软件包版本(例如“1.0.5”)

get_elm_package_exports

获取Elm包模块的所有导出及其类型签名,但不带注释。当您只需要探索可用函数时,这比get_elm_package_docs更有效。

参数:

  • author (必填,字符串):包作者(例如“elm”)
  • name (必填,字符串):包名称(例如“core”)
  • version (必填,字符串):软件包版本(例如“1.0.5”)
  • module (可选,字符串):筛选到特定模块

示例响应包括按类型(联合、别名、值、binops)组织的所有导出及其类型签名,但没有文档注释。

get_elm_package_export_docs

获取Elm包模块中特定导出(函数、类型或别名)的文档注释。

参数:

  • author (必填,字符串):包作者(例如“elm”)
  • name (必填,字符串):包名称(例如“core”)
  • version (必填,字符串):软件包版本(例如“1.0.5”)
  • module (必填,字符串):模块名称(例如“List”)
  • export_name (必填,字符串):要获取注释的导出名称(例如,“map”、“Maybe”)

示例响应:

{
  "author": "elm",
  "name": "core",
  "version": "1.0.5",
  "module": "List",
  "export_name": "map",
  "export_type": "value",
  "type_annotation": "map : (a -> b) -> List a -> List b",
  "comment": "Apply a function to every element of a list..."
}

工作流示例

  1. 首先,使用 list_installed_packages 发现项目中的可用包,或使用 search_packages 要查找新包,请执行以下操作:

- list_installed_packages 返回所有包及其作者、名称和版本 - search_packages 在Elm注册表中查找与您的查询匹配的包

  1. 然后,使用返回的信息获取文档:

- 呼叫 get_elm_package_readme 包含作者、姓名和版本以供概述 - 呼叫 get_elm_package_exports 查看所有可用的函数和类型,不添加注释 - 呼叫 get_elm_package_export_docs 获取特定项目的详细文档

可用资源

elm://elm.json

项目的elm.json文件,可作为资源访问。

可用提示

服务器提供了六个提示,以帮助使用常见的Elm开发工作流:

分析依赖关系

分析Elm项目的依赖关系,解释每个包的作用并提出优化建议。当您询问elm.json或项目结构时,主动使用。

无需参数

探索套餐

通过检查特定Elm包的导出、模块和关键功能来探索其功能。

参数:

  • package (必填):包名格式为“作者/名称”(例如,“elm/core”)

例子: /explore-package package=elm/json

查找函数

在Elm依赖项中搜索与特定功能或用例匹配的函数。

参数:

  • capability (必填):您想要完成的任务(例如,“解析JSON”、“在列表上映射”、“处理HTTP错误”)

例子: /find-function capability="parse JSON"

调试导入

解释特定Elm模块导入中可用的功能和类型。当您有导入错误或对导入中的可用函数有疑问时,这很有用。

参数:

  • module_path (必填):完整模块路径(例如,“List”、“Html.Attributes”、“Json.Decode”)

例子: /debug-import module_path=Json.Decode

发现软件包

根据特定需求或用例发现新的Elm软件包。在描述可能需要新包的问题时主动使用。

参数:

  • need (必填):您需要完成的任务(例如,“解析CSV”、“处理日期”、“发出HTTP请求”)

例子: /discover-packages need="working with dates"

包装比较

比较两个Elm软件包,以帮助为特定用例选择最佳软件包。

参数:

  • package1 (必填):格式为“作者/姓名”的第一个包
  • package2 (必填):格式为“作者/姓名”的第二个包

例子: /package-comparison package1=elm/json package2=NoRedInk/elm-json-decode-pipeline

CLI选项

默认情况下,服务器以MCP服务器模式运行。使用以下选项检查服务器的功能:

  • --tools:显示可用的Elm包工具
  • --resources:显示可用资源
  • --prompts:显示可用提示
  • --json:以JSON格式输出信息

发展

此服务器是使用以下方式构建的:

为npm构建

要构建和发布npm包(仅限macOS):

# Prepare binaries for current architecture
just npm-prepare-binaries

# Create npm package tarball
just npm-pack

# Test locally
just npm-test-local

# Publish to npm (requires npm login)
just npm-publish

许可证

阿帕奇-2.0

目录标签

目录标签

包管理RustClaude开发工具Elm语言本地部署文档查询MCP服务器

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP