remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Supports environment configuration through .env files to manage Marvel API credentials and base URL.
Allows GitHub Copilot to access Marvel characters and comics data through the Marvel Developer API, supporting various filters and search capabilities.
Marvel MCP 服务器
适用于Marvel 开发者 API的 MCP 服务器,支持与角色和漫画数据的交互。该项目的主要目标是展示如何使用 MCP 服务器与 API 进行交互。
注意:本 MCP 服务器使用的所有数据均取自Marvel 官方 API ,并归 Marvel 所有。本项目与 Marvel 没有任何关联。
🔧 功能
- 列出漫威人物:支持
nameStartsWith
、limit
、comics
、series
等过滤器。 - 通过 ID 获取 Marvel 角色:使用
characterId
获取任何角色的详细信息。 - 获取特定角色的漫画:获取具有特定角色的漫画列表,并使用
format
、dateRange
等各种过滤器。 - 基于工具的 MCP 集成:使用模型上下文协议 (MCP) 工具(VS Code、Claude 等)注册此服务器。
- 环境配置:使用
.env
文件来管理环境变量,如MARVEL_PUBLIC_KEY
、MARVEL_PRIVATE_KEY
和MARVEL_API_BASE
。
🧰 工具
1. get_characters
- 描述:使用可选过滤器获取 Marvel 角色。
- 输入:
name
(可选字符串):完整的角色名称。nameStartsWith
(可选字符串):名称以指定字符串开头的字符。modifiedSince
(可选字符串):ISO 8601 日期字符串,用于过滤自该日期以来修改的字符。comics
、series
、events
、stories
(可选字符串):以逗号分隔的 ID 列表,用于按相关实体进行过滤。orderBy
(可选字符串):对结果进行排序的字段,例如name
或-modified
。limit
(可选数字):返回的最大结果数(1-100)。offset
(可选数字):分页时要跳过的结果数。
- 返回:包含匹配字符的 JSON 响应。详情请参阅
src/schemas.ts
中的CharacterDataWrapperSchema
。
2. 通过 id get_character_by_id
角色
- 描述:通过其唯一 ID 获取 Marvel 角色。
- 输入:
characterId
(数字):角色的唯一 ID。
- 返回:包含角色详细信息的 JSON 响应。详情请参阅
src/schemas.ts
中的CharacterDataWrapperSchema
。
3. get_comics_for_character
📚🎭
- 描述:获取具有特定角色的漫画,带有可选过滤器。
- 输入:
characterId
(数字):角色的唯一 ID。- 可选过滤器:
format
、formatType
(字符串):按漫画格式过滤(例如,comic
、hardcover
)。noVariants
,hasDigitalIssue
(布尔值):标志排除变体或仅包含数字问题。dateDescriptor
(字符串):预定义日期范围,如thisWeek
、nextWeek
。dateRange
(字符串):自定义日期范围,格式为YYYY-MM-DD,YYYY-MM-DD
。title
,titleStartsWith
(字符串):按标题或标题前缀过滤。startYear
、issueNumber
、digitalId
(数字):数字过滤器。diamondCode
、upc
、isbn
、ean
、issn
(字符串):标识符过滤器。creators
、series
、events
、stories
、sharedAppearances
、collaborators
(字符串):相关实体 ID 的逗号分隔列表。orderBy
(字符串):对结果进行排序的字段,例如title
或-modified
。limit
,offset
(数字):分页选项。
- 返回:包含指定角色漫画的 JSON 响应。详情请参阅
src/schemas.ts
中的ComicDataWrapperSchema
。
4. get_comics
📖🕵️♂️
- 描述:使用可选过滤器获取漫威漫画列表。
- 输入:
format
(可选字符串):按发行格式进行过滤(例如,comic
,digital comic
,hardcover
)。formatType
(可选字符串):按问题格式类型(comic
或collection
)进行过滤。noVariants
(可选布尔值):从结果集中排除变体(替代封面、二次印刷、导演剪辑等)。dateDescriptor
(可选字符串):返回预定义日期范围内的漫画(lastWeek
、thisWeek
、nextWeek
、thisMonth
)。dateRange
(可选字符串):返回自定义日期范围内的漫画。日期必须指定为YYYY-MM-DD,YYYY-MM-DD
。title
(可选字符串):仅返回标题与输入匹配的系列问题。titleStartsWith
(可选字符串):仅返回标题以输入开头的系列问题。startYear
(可选数字):仅返回开始年份与输入相匹配的系列问题。issueNumber
(可选数字):仅返回问题编号与输入匹配的系列问题。diamondCode
、digitalId
、upc
、isbn
、ean
、issn
(可选字符串):按各种标识符进行过滤。hasDigitalIssue
(可选布尔值):仅包含以数字形式提供的结果。modifiedSince
(可选字符串):仅返回自指定日期以来修改过的漫画(ISO 8601 格式)。creators
、characters
、series
、events
、stories
、sharedAppearances
、collaborators
(可选字符串):按相关实体过滤的 ID 的逗号分隔列表。orderBy
(可选字符串):按一个或多个字段对结果集进行排序。在值后添加“-”可按降序排序(例如,title
、-modified
)。limit
(可选数字):将结果集限制为指定数量的资源(默认值:20,最大值:100)。offset
(可选数字):跳过结果集中指定数量的资源。
- 返回:包含匹配漫画的 JSON 响应。详情请参阅
src/schemas.ts
中的ComicDataWrapperSchema
。
5. get_comic_by_id
- 描述:通过唯一 ID 获取单个 Marvel 漫画。
- 输入:
comicId
(数字):漫画的唯一 ID。
- 返回:包含漫画详情的 JSON 响应。详情请参阅
src/schemas.ts
中的ComicDataWrapperSchema
。
6. get_characters_for_comic
🦸♀️📖
- 描述:获取特定漫画中出现的漫威人物。
- 输入:
comicId
(数字):漫画的唯一 ID。- 可选过滤器:
name
(可选字符串):按全名过滤字符。nameStartsWith
(可选字符串):过滤名称以指定字符串开头的字符。modifiedSince
(可选字符串):ISO 8601 日期字符串,用于过滤自该日期以来修改的字符。series
、events
、stories
(可选字符串):要过滤的相关实体 ID 的逗号分隔列表。orderBy
(可选字符串):对结果进行排序的字段,例如name
或-modified
。limit
(可选数字):返回的最大结果数(1-100)。offset
(可选数字):分页时要跳过的结果数。
- 返回:包含指定漫画中出现的角色的 JSON 响应。详情请参阅
src/schemas.ts
中的CharacterDataWrapperSchema
。
🛠️ 设置
注册一个Marvel 开发者 API帐户并获取您的公钥和私钥 API 密钥。
如果您想直接在 MCP 主机中运行它,请跳至与 Claude Desktop 一起使用或与 GitHub Copilot 一起使用部分。
使用 MCP Inspector 在本地运行服务器
如果您想在本地运行 MCP Inspector 来测试服务器,请按照以下步骤操作:
- 克隆此存储库:Copy
- 将
.env.template
重命名为.env
。 - 将您的 Marvel API 公钥和私钥添加到
.env
文件。Copy - 安装所需的依赖项并构建项目。Copy
- (可选)要使用 MCP Inspector 试用服务器,请运行以下命令:访问浏览器控制台中显示的 MCP Inspector URL。将Copy
Arguments
更改为dist/index.js
并选择Connect
。选择List Tools
查看可用的工具。
配置 MCP 主机
与 Claude Desktop 一起使用
将以下内容添加到您的claude_desktop_config.json
中:
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 Marvel MCP 服务器:
与 GitHub Copilot(VS Code Insiders)一起使用
注意:如果您已经使用 Claude Desktop 启用了 MCP 服务器,请在 VS Code 设置中添加
chat.mcp.discovery.enabled: true
,它将发现现有的 MCP 服务器列表。
如果您想要将 MCP 服务器与特定的 repo 关联,请创建包含以下内容的.vscode/mcp.json
文件:
如果您想要将 MCP 服务器与所有存储库关联,请将以下内容添加到您的 VS Code 用户设置 JSON 中:
使用 GitHub Copilot 中的工具
- 现在 mcp 服务器已可发现,打开 GitHub Copilot 并选择
Agent
模式(而不是Chat
或Edits
)。 - 选择 Copilot 聊天文本字段中的“刷新”按钮来刷新服务器列表。
- 选择“🛠️”按钮查看所有可能的工具,包括来自此 repo 的工具。
- 在聊天中提出一个自然会调用其中一种工具的问题,例如:Copy
注意:如果您看到“抱歉,响应已被负责任的 AI 服务过滤。”,请尝试再次运行它或重新措辞提示。
You must be authenticated.
Tools
用于 Marvel Developer API 的 MCP 服务器,可实现与角色和漫画数据的交互。