本项目是星球大战 MCP 服务器,可提供星球大战相关的各类信息,如电影、人物、宇宙飞船等,还支持对这些信息进行创建、更新和删除等操作。
⚠️ 重要提示
如果您已经启用了带有Claude Desktop的MCP服务器,请在VS Code设置中添加
chat.mcp.discovery.enabled: true
,它将发现现有的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,
Agent
模式(不是Chat
或Edits
)。如何设置我的VS Code渐变颜色?
⚠️ 重要提示
如果您看到“抱歉,响应被负责任的人工智能服务过滤。请重新措辞并重试。”,请再次运行或重新措辞提示。
以下是支持的19个功能:
获取星球大战中的电影信息。
/**
* 获取星球大战中的电影信息。
* @param queryParams 查询参数
* @returns 影片数据数组
*/
async getFilms(queryParams?: Record<string, unknown>): Promise<unknown[]>;
获取人物信息。
/**
* 获取人物信息。
* @param queryParams 查询参数
* @returns 人物数据数组
*/
async getPeople(queryParams?: Record<string, unknown>): Promise<unknown[]>;
获取宇宙飞船信息。
/**
* 获取宇宙飞船信息。
* @param queryParams 查询参数
* @returns 宇宙飞船数据数组
*/
async getStarships(queryParams?: Record<string, unknown>): Promise<unknown[]>;
获取物种信息。
/**
* 获取物种信息。
* @param queryParams 查询参数
* @returns 物种数据数组
*/
async getSpecies(queryParams?: Record<string, unknown>): Promise<unknown[]>;
获取行星信息。
/**
* 获取行星信息。
* @param queryParams 查询参数
* @returns 行星数据数组
*/
async getPlanets(queryParams?: Record<string, unknown>): Promise<unknown[]>;
获取交通工具信息。
/**
* 获取交通工具信息。
* @param queryParams 查询参数
* @returns 交通工具数据数组
*/
async getVehicles(queryParams?: Record<string, unknown>): Promise<unknown[]>;
获取所有资源的信息。
/**
* 获取所有资源的信息。
* @param queryParams 查询参数
* @returns 所有资源的数据数组
*/
async getEverything(queryParams?: Record<string, unknown>): Promise<unknown[]>;
创建新的电影条目。
/**
* 创建新的电影条目。
* @param body 请求正文
* @returns 新的影片数据
*/
async createFilms(body: unknown): Promise<unknown>;
更新现有电影条目的信息。
/**
* 更新现有电影条目的信息。
* @param id 影片ID
* @param body 请求正文
* @returns 更新后的影片数据
*/
async updateFilms(id: string, body: unknown): Promise<unknown>;
删除现有电影条目。
/**
* 删除现有电影条目。
* @param id 影片ID
* @returns 删除确认
*/
async deleteFilms(id: string): Promise<void>;
通过ID获取特定电影信息。
/**
* 通过ID获取特定电影信息。
* @param id 影片ID
* @returns 特定影片数据
*/
async getFilmByID(id: string): Promise<unknown>;
创建新的角色条目。
/**
* 创建新的角色条目。
* @param body 请求正文
* @returns 新的角色数据
*/
async createPeople(body: unknown): Promise<unknown>;
更新现有角色条目的信息。
/**
* 更新现有角色条目的信息。
* @param id 角色ID
* @param body 请求正文
* @returns 更新后的角色数据
*/
async updatePeople(id: string, body: unknown): Promise<unknown>;
删除现有角色条目。
/**
* 删除现有角色条目。
* @param id 角色ID
* @returns 删除确认
*/
async deletePeople(id: string): Promise<void>;
通过ID获取特定人物信息。
/**
* 通过ID获取特定人物信息。
* @param id 角色ID
* @returns 特定角色数据
*/
async getPersonByID(id: string): Promise<unknown>;
创建新的宇宙飞船条目。
/**
* 创建新的宇宙飞船条目。
* @param body 请求正文
* @returns 新的宇宙飞船数据
*/
async createStarships(body: unknown): Promise<unknown>;
更新现有宇宙飞船条目的信息。
/**
* 更新现有宇宙飞船条目的信息。
* @param id 宇宙飞船ID
* @param body 请求正文
* @returns 更新后的宇宙飞船数据
*/
async updateStarships(id: string, body: unknown): Promise<unknown>;
删除现有宇宙飞船条目。
/**
* 删除现有宇宙飞船条目。
* @param id 宇宙飞船ID
* @returns 删除确认
*/
async deleteStarships(id: string): Promise<void>;
通过ID获取特定宇宙飞船信息。
/**
* 通过ID获取特定宇宙飞船信息。
* @param id 宇宙飞船ID
* @returns 特定宇宙飞船数据
*/
async getStarshipByID(id: string): Promise<unknown>;
Ctrl+Shift+X
)。# 先下载并安装Node.js和npm
# https://nodejs.org/
npm install -g starwars-mcp-server
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!如果有任何问题,请随时联系支持团队。