占星API服务

Prokerala Astrology MCP 是一个提供吠陀占星服务的API,包括星座运势、Panchang和兼容性分析,支持命令行和网页界面。

  • by sajithamma
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 sajithamma/prokerala-mcp-server

使用说明

Prokerala占星术MCP

由Prokerala API提供的吠陀占星术API MCP,通过命令行和web界面提供占星术服务,如星座图、panchang和兼容性分析。

特性

  • 吠陀占星术咨询
  • 每日星座读数
  • 潘昌详情
  • Kundli匹配与兼容性分析
  • Manglik Dosha分析
  • 多界面(CLI和Web UI)
  • 支持多种印度语言

组件

  1. 核心MCP服务器 (coremcp.py)

    • 主服务器实现
    • 处理Prokerala API集成
    • 提供占星术工具和计算
  2. 测试客户端 (testclient.py)

    • 测试命令行界面
    • 基于交互式聊天的界面
    • 对开发和测试有用
  3. Web用户界面 (ui.py)

    • 基于Chainlit的web界面
    • 用户友好的聊天界面
    • 实时响应

先决条件

  • Python 3.12或更高版本
  • pip(Python包管理器)
  • 虚拟环境(推荐)

安装

  1. 克隆存储库:

    git clone git@github.com:sajithamma/prokerala-mcp-server.git
    cd prokerala-mcp-server
    
  2. 创建并激活虚拟环境:

    python3.12 -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. 安装依赖项:

    pip install -r requirements.txt
    
  4. 创建一个 .env 使用您的Prokerala API证书提交文件:

    OPENAI_API_KEY=your_openai_api_key
    CLIENT_ID=your_client_id
    CLIENT_SECRET=your_client_secret
    TOKEN_FILE_PATH=access_token.json
    

运行应用程序

1.启动MCP服务器

首先,启动主服务器:

fastmcp run coremcp.py:mcp --transport sse

服务器将于启动 http://localhost:8000

testclient.py

以下是如何在客户端代码中初始化服务器:

server = MCPServerSse(
    name="Prokerala SSE Server",
    params={
        "url": "http://localhost:8000/sse",
    },
)
await server.connect()  # Initialize the server connection

# Initialize the Agent with Prokerala tools
agent = Agent(
    name="Prokerala Assistant",
    instructions="""You are a vedic astrologer. Use Prokerala API tools to answer astrology questions. 
    Ask for place details to determine latitude/longitude. Use district/state if exact location is unknown.
    Only call tools when all required parameters are available.""",
    mcp_servers=[server],
    model_settings=ModelSettings(tool_choice="auto"),
)

2.运行测试客户端

在新终端中:

python testclient.py

测试客户端提供了一个交互式命令行界面,您可以在其中:

  • 获取每日星座运势
  • 检查兼容性
  • 获取潘昌详细信息
  • 还有更多。..

示例用法:

Enter your message: get me today's horoscope
Sure, I can help with that. Could you please tell me your zodiac sign?
Enter your message: aries
[Horoscope details will be displayed]

3.运行Web UI(Chainlit)

在新终端中:

chainlit run ui.py

web界面将在 http://localhost:8000 并提供:

  • 现代聊天界面
  • 实时响应
  • 易于使用的格式,适用于所有占星术服务

可用的占星术服务

  1. 每日星座运程

    • 获取个性化的每日预测
    • 适用于所有星座
  2. 潘昌

    • 每日占星细节
    • 蒂蒂,nakshatra,瑜伽信息
  3. 昆德利匹配

    • 兼容性分析
    • Porutham检查
    • Manglik Dosha分析
  4. 出生图分析

    • 详细的出生图
    • 行星位置
    • Dosha分析

环境变量

应用程序使用以下环境变量:

  • OPENAI_API_KEY:您的OpenAI API密钥
  • CLIENT_ID:您的Prokerala API客户ID
  • CLIENT_SECRET:您的Prokerala API客户机密
  • TOKEN_FILE_PATH:存储访问令牌的路径

故障排除

  1. 服务器连接问题

    • 在启动客户端或UI之前,确保MCP服务器正在运行
    • 检查端口8000是否可用
  2. API身份验证错误

    • 在中验证您的API凭据 .env 文件
    • 检查令牌文件是否具有适当的权限
  3. 日期格式问题

    • 使用正确的日期时间格式:YYYY-MM-DD HH:MM AM/PM
    • 对于API调用,系统将自动转换为ISO格式