README
🚀 星球大战 MCP 服务器
本项目是星球大战 MCP 服务器,可提供星球大战相关的各类信息,如电影、人物、宇宙飞船等,还支持对这些信息进行创建、更新和删除等操作。
🚀 快速开始
启用 MCP 服务器发现
⚠️ 重要提示
如果您已经启用了带有Claude Desktop的MCP服务器,请在VS Code设置中添加
chat.mcp.discovery.enabled: true,它将发现现有的MCP服务器列表。
关联 MCP 服务器与仓库
与特定仓库关联
如果您希望将MCP服务器与特定仓库关联,请在仓库中创建.vscode/mcp.json文件,内容如下:
{
"inputs": [],
"servers": {
"mcp-starwars": {
"command": "npx",
// "command": "node",
"args": [
"-y",
"@johnpapa/mcp-starwars"
// "_git/mcp-starwars/dist/index.js"
],
"env": {}
}
}
}
与所有仓库关联
如果您希望将MCP服务器与所有仓库关联,请在VS Code用户设置JSON中添加以下内容:
"mcp": {
"servers": {
"mcp-starwars": {
"command": "npx",
// "command": "node",
"args": [
"-y",
"@johnpapa/mcp-starwars"
// "/Users/papa/_git/mcp-starwars/dist/index.js"
// "_git/mcp-starwars/dist/index.js"
],
"env": {}
}
}
}
"chat.mcp.discovery.enabled": true,
使用GitHub Copilot中的工具
- 现在MCP服务器可以被发现后,打开GitHub Copilot并选择
Agent模式(不是Chat或Edits)。 - 在Copilot聊天文本字段中选择“刷新”按钮以刷新服务器列表。
- 选择“🛠️”按钮以查看所有可用工具,包括此仓库中的工具。
- 在聊天中提出一个自然会引发其中一个工具的问题,例如:
如何设置我的VS Code渐变颜色?
⚠️ 重要提示
如果您看到“抱歉,响应被负责任的人工智能服务过滤。请重新措辞并重试。”,请再次运行或重新措辞提示。
✨ 主要特性
19个可用函数
以下是支持的19个功能:
获取films
获取星球大战中的电影信息。
/**
* 获取星球大战中的电影信息。
* @param queryParams 查询参数
* @returns 影片数据数组
*/
async getFilms(queryParams?: Record<string, unknown>): Promise<unknown[]>;
获取people
获取人物信息。
/**
* 获取人物信息。
* @param queryParams 查询参数
* @returns 人物数据数组
*/
async getPeople(queryParams?: Record<string, unknown>): Promise<unknown[]>;
获取starships
获取宇宙飞船信息。
/**
* 获取宇宙飞船信息。
* @param queryParams 查询参数
* @returns 宇宙飞船数据数组
*/
async getStarships(queryParams?: Record<string, unknown>): Promise<unknown[]>;
获取species
获取物种信息。
/**
* 获取物种信息。
* @param queryParams 查询参数
* @returns 物种数据数组
*/
async getSpecies(queryParams?: Record<string, unknown>): Promise<unknown[]>;
获取planets
获取行星信息。
/**
* 获取行星信息。
* @param queryParams 查询参数
* @returns 行星数据数组
*/
async getPlanets(queryParams?: Record<string, unknown>): Promise<unknown[]>;
获取vehicles
获取交通工具信息。
/**
* 获取交通工具信息。
* @param queryParams 查询参数
* @returns 交通工具数据数组
*/
async getVehicles(queryParams?: Record<string, unknown>): Promise<unknown[]>;
获取everything
获取所有资源的信息。
/**
* 获取所有资源的信息。
* @param queryParams 查询参数
* @returns 所有资源的数据数组
*/
async getEverything(queryParams?: Record<string, unknown>): Promise<unknown[]>;
创建films
创建新的电影条目。
/**
* 创建新的电影条目。
* @param body 请求正文
* @returns 新的影片数据
*/
async createFilms(body: unknown): Promise<unknown>;
更新films
更新现有电影条目的信息。
/**
* 更新现有电影条目的信息。
* @param id 影片ID
* @param body 请求正文
* @returns 更新后的影片数据
*/
async updateFilms(id: string, body: unknown): Promise<unknown>;
删除films
删除现有电影条目。
/**
* 删除现有电影条目。
* @param id 影片ID
* @returns 删除确认
*/
async deleteFilms(id: string): Promise<void>;
获取filmByID
通过ID获取特定电影信息。
/**
* 通过ID获取特定电影信息。
* @param id 影片ID
* @returns 特定影片数据
*/
async getFilmByID(id: string): Promise<unknown>;
创建people
创建新的角色条目。
/**
* 创建新的角色条目。
* @param body 请求正文
* @returns 新的角色数据
*/
async createPeople(body: unknown): Promise<unknown>;
更新people
更新现有角色条目的信息。
/**
* 更新现有角色条目的信息。
* @param id 角色ID
* @param body 请求正文
* @returns 更新后的角色数据
*/
async updatePeople(id: string, body: unknown): Promise<unknown>;
删除people
删除现有角色条目。
/**
* 删除现有角色条目。
* @param id 角色ID
* @returns 删除确认
*/
async deletePeople(id: string): Promise<void>;
获取personByID
通过ID获取特定人物信息。
/**
* 通过ID获取特定人物信息。
* @param id 角色ID
* @returns 特定角色数据
*/
async getPersonByID(id: string): Promise<unknown>;
创建starships
创建新的宇宙飞船条目。
/**
* 创建新的宇宙飞船条目。
* @param body 请求正文
* @returns 新的宇宙飞船数据
*/
async createStarships(body: unknown): Promise<unknown>;
更新starships
更新现有宇宙飞船条目的信息。
/**
* 更新现有宇宙飞船条目的信息。
* @param id 宇宙飞船ID
* @param body 请求正文
* @returns 更新后的宇宙飞船数据
*/
async updateStarships(id: string, body: unknown): Promise<unknown>;
删除starships
删除现有宇宙飞船条目。
/**
* 删除现有宇宙飞船条目。
* @param id 宇宙飞船ID
* @returns 删除确认
*/
async deleteStarships(id: string): Promise<void>;
获取starshipByID
通过ID获取特定宇宙飞船信息。
/**
* 通过ID获取特定宇宙飞船信息。
* @param id 宇宙飞船ID
* @returns 特定宇宙飞船数据
*/
async getStarshipByID(id: string): Promise<unknown>;
📦 安装指南
使用VS Code插件安装
- 打开VS Code。
- 进入扩展视图(快捷键:
Ctrl+Shift+X)。 - 搜索并安装“Star Wars MCP Server”扩展。
使用命令行安装
安装Node.js和npm
# 先下载并安装Node.js和npm
# https://nodejs.org/
安装MCP服务器
npm install -g starwars-mcp-server
使用Smithery安装
smithery add @johnpapa/starwars-mcp-server
💻 使用示例
基础用法
获取所有影片信息
await getEverything();
高级用法
创建新角色
const person = {
name: "Luke Skywalker",
height: "172",
mass: "77",
hair_color: "blond",
skin_color: "fair"
};
await createPeople(person);
📚 详细文档
配置说明
启动服务器
starwars-mcp-server start
停止服务器
starwars-mcp-server stop
重新启动服务器
starwars-mcp-server restart
注意事项
- 确保服务器已正确安装并运行。
- 检查网络连接,确保可以访问服务。
- 处理错误和异常情况。
希望这个文档能帮助您顺利使用Star Wars MCP Server!如果有任何问题,请随时联系支持团队。
Scan to contact