HiAnime MCP服务器🎬
A. 模型上下文协议(MCP) 用于浏览和搜索HiAnime和MyAnimeList(MAL)动漫的服务器。此服务器可用于 任何兼容MCP的客户端,而不仅仅是克劳德桌面!
🌟 特性
此MCP服务器提供 26个强大的工具 动漫探索:
📺 HiAnime工具
| 工具 | 说明 |
|---|---|
search_anime | 按关键字搜索动漫 |
get_popular_anime | 获取最受欢迎的动漫 |
get_top_airing_anime | 获取当前正在播放的动漫 |
get_recently_updated_anime | 获取最近更新的动漫 |
get_completed_anime | 完成动漫 |
get_subbed_anime | 获取带有字幕的动漫 |
get_dubbed_anime | 获得配音动漫 |
get_anime_by_genre | 按流派浏览动漫(40+流派) |
get_anime_by_type | 按类型浏览动漫(电视、电影、OVA等) |
get_anime_details | 获取特定动漫的详细信息 |
get_anime_episodes | 获取动漫的剧集列表 |
get_episode_info | 获取特定剧集的详细信息 |
get_anime_az_list | 按字母顺序浏览动漫 |
get_anime_by_producer | 按工作室/制作人浏览动漫 |
filter_anime | 高级多标准过滤 |
get_available_filters | 列出所有可用的筛选器选项 |
check_api_health | 检查API是否响应 |
📊 MyAnimeList(MAL)工具
| 工具 | 说明 |
|---|---|
mal_search | 使用官方API在MAL上搜索动漫 |
mal_anime_details | 通过MAL ID获取详细的动漫信息 |
mal_ranking | 获取动漫排名(顶部、播出、即将播出等) |
mal_seasonal | 按年份和季节获取季节性动漫 |
🔐 MAL用户身份验证工具
| 工具 | 说明 |
|---|---|
mal_get_auth_url | 获取MAL登录的OAuth2授权URL |
mal_exchange_token | 访问令牌的Exchange身份验证码 |
mal_user_animelist | 使用状态过滤器获取用户的动漫列表 |
mal_user_profile | 获取用户的MAL配置文件信息 |
🔗 组合工具
| 工具 | 说明 |
|---|---|
combined_search | 同时搜索HiAnime和MAL |
📋 先决条件
- Python 3.10+
- 紫外线 (推荐)或 点
🚀 快速开始
选项1:使用紫外线(推荐)
# Clone or navigate to the project directory
cd MCP_Anime
# Create virtual environment and install dependencies
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
uv pip install -e .
# Or install from requirements.txt
uv pip install -r requirements.txt选项2:使用pip
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt运行服务器
# Using uv
uv run hianime_mcp_server.py
# Or directly with Python
python hianime_mcp_server.py🔧 MCP客户端的配置
克劳德桌面
编辑您的Claude Desktop配置文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"hianime": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/MCP_Anime",
"run",
"hianime_mcp_server.py"
]
}
}
}直接使用Python的替代方案:
{
"mcpServers": {
"hianime": {
"command": "/ABSOLUTE/PATH/TO/MCP_Anime/.venv/bin/python",
"args": [
"/ABSOLUTE/PATH/TO/MCP_Anime/hianime_mcp_server.py"
]
}
}
}光标IDE
添加到光标MCP设置(.cursor/mcp.json 在项目或全局设置中):
{
"mcpServers": {
"hianime": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/MCP_Anime",
"run",
"hianime_mcp_server.py"
]
}
}
}带有Continue扩展名的VS代码
添加到您的继续配置(~/.continue/config.json):
{
"mcpServers": [
{
"name": "hianime",
"command": "python",
"args": ["/ABSOLUTE/PATH/TO/MCP_Anime/hianime_mcp_server.py"]
}
]
}通用MCP客户端
对于支持STDIO传输的任何MCP客户端:
# Command to run the server
uv --directory /path/to/MCP_Anime run hianime_mcp_server.py
# Or with Python
/path/to/MCP_Anime/.venv/bin/python /path/to/MCP_Anime/hianime_mcp_server.py程序化使用(自定义MCP客户端)
import asyncio
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def main():
server_params = StdioServerParameters(
command="python",
args=["/path/to/MCP_Anime/hianime_mcp_server.py"],
)
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
# Initialize the connection
await session.initialize()
# List available tools
tools = await session.list_tools()
print("Available tools:", [t.name for t in tools.tools])
# Call a tool
result = await session.call_tool(
"search_anime",
arguments={"keyword": "naruto", "page": 1}
)
print(result)
asyncio.run(main())📖 用法示例
连接到MCP客户端后,您可以提出以下问题:
- “搜索关于恶魔的动漫”
- “现在最受欢迎的动漫是什么?”
- “向我展示当前正在播放的动漫”
- “获取《海贼王》的详细信息”
- “查找得分高于8的动作动漫”
- “列出MAPPA工作室的所有动漫”
- “什么动漫以字母A开头?”
- “向我展示已完成的伊势凯动漫”
- “获取火影忍者的剧集列表”
- “MAL上排名最高的动漫是什么?”
- “给我看2024年冬季的动漫”
- “搜索HiAnime和MAL以攻击泰坦”
- “获取我的MAL动漫列表”(需要身份验证)
🛠 可用工具参考
HiAnime-搜索与发现
search_anime(keyword: str, page: int = 1)按名称或关键字搜索动漫。
HiAnime-浏览分类
get_popular_anime(page: int = 1)
get_top_airing_anime(page: int = 1)
get_recently_updated_anime(page: int = 1)
get_completed_anime(page: int = 1)
get_subbed_anime(page: int = 1)
get_dubbed_anime(page: int = 1)HiAnime-按属性过滤
get_anime_by_genre(genre: str, page: int = 1)
get_anime_by_type(anime_type: str, page: int = 1)
get_anime_by_producer(producer_slug: str, page: int = 1)
get_anime_az_list(letter: str, page: int = 1)HiAnime-详细信息
get_anime_details(slug: str)
get_anime_episodes(slug: str)
get_episode_info(slug: str, episode_number: int)HiAnime-高级过滤
filter_anime(
anime_type: str = None, # movie, tv, ova, ona, special, music
status: str = None, # finished, airing, upcoming
rated: str = None, # g, pg, pg-13, r, r+, rx
score: int = None, # 1-10
season: str = None, # spring, summer, fall, winter
language: str = None, # sub, dub
genres: str = None, # comma-separated: "action,fantasy"
sort: str = None, # default, recently_added, score, etc.
page: int = 1
)MyAnimeList(MAL)-搜索和浏览
mal_search(query: str, limit: int = 10)使用官方API在MAL上搜索动漫。
mal_anime_details(mal_id: int)通过MAL ID获取详细的动漫信息。
mal_ranking(ranking_type: str = "all", limit: int = 10)获取动漫排名。类型:全部、播出、即将上映、电视、电影、小众、最爱
mal_seasonal(year: int, season: str, limit: int = 10)购买季节性动漫。季节:冬、春、夏、秋
MyAnimeList-用户身份验证
mal_get_auth_url(client_id: str, redirect_uri: str, client_secret: str = None)获取MAL登录的OAuth2授权URL。
mal_exchange_token(client_id: str, code: str, code_verifier: str, redirect_uri: str, client_secret: str = None)访问令牌的交换授权码。
mal_user_animelist(client_id: str, access_token: str, status: str = None, limit: int = 100)获取用户的动漫列表。状态选项:正在监视、已完成、on_hold、已删除、plan_to_watch
mal_user_profile(client_id: str, access_token: str)获取用户的MAL配置文件信息。
组合工具
combined_search(query: str, limit: int = 5)同时搜索HiAnime和MAL进行比较。
效用
get_available_filters() # List all filter options
check_api_health() # Check API status🎭 可用类型
动作,冒险,汽车,喜剧,痴呆症,恶魔,戏剧,ecchi,幻想,游戏,后宫,历史,恐怖,isekai,josei,儿童,魔术,武术,机甲,军事,音乐,神秘,模仿,警察,心理,浪漫,武士,学校,科幻,塞纳,shoujo,shoujo-ai,shounen,shounen-ai,生活切片,空间,体育,超能力,超自然,惊悚片,吸血鬼
📁 可用类型
电影、电视、ova、ona、特别节目、音乐
🏆 MAL排名类型
all-顶级动漫系列airing-热门动漫upcoming-热门动漫tv-顶级电视剧movie-热门电影bypopularity-最受欢迎favorite-最喜欢的
🍂 可用季节
winter-1月至3月spring-4月至6月summer-7月至9月fall-10月至12月
🔐 MAL身份验证设置
要使用MAL用户功能(动漫列表、个人资料),您需要:
- 创建一个MAL API应用程序:
- 首选https://myanimelist.net/apiconfig - 创建新应用程序 - 复制您的客户端ID(以及可选的客户端密码)
- 获取授权:
# Use mal_get_auth_url to get the authorization URL
# Open the URL in your browser and authorize
# Copy the 'code' from the callback URL- 代币兑换:
# Use mal_exchange_token with the code and code_verifier
# Save the access_token securely- 使用经过身份验证的端点:
# Use mal_user_animelist and mal_user_profile with your access_token⚠️ 隐私: 此服务器不会存储您的凭据和令牌。
🔧 故障排除
服务器未显示在Claude Desktop中
- 确保在编辑配置后重新启动了Claude Desktop
- 检查配置中的路径是否为绝对路径(以开头
/在macOS/Linux或C:\在Windows上) - 验证Python环境是否安装了所有依赖项
连接超时
HiAnime API可能响应缓慢。服务器配置了30秒超时。
日志记录
服务器记录到stderr。检查MCP客户端的日志以获取调试信息。
手动测试服务器
# Test with MCP inspector
npx @modelcontextprotocol/inspector python hianime_mcp_server.py📄 许可证
MIT许可证-随意使用和修改!
🤝 贡献
欢迎投稿!请随时提交问题和拉取请求。
🙏 学分
- HiAnime API 动漫数据
- MyAnimeList API 用于MAL集成
- 模型上下文协议 通过Anthropic
