"""
Business MCP Server
提供企业工商信息查询的 MCP 服务（基于站长之家 API）
"""

from __future__ import annotations

import os
import json
from fastmcp import FastMCP

# 导入查询引擎
try:
    from .query import BusinessQuery
except ImportError:
    from query import BusinessQuery


# 创建 FastMCP 实例
mcp = FastMCP("Business MCP Server")

# 从环境变量获取 API Key
API_KEY = os.getenv("CHINAZ_API_KEY", "")

if not API_KEY:
    print("警告: 未设置 CHINAZ_API_KEY 环境变量")

# 初始化查询引擎
query_engine = BusinessQuery(API_KEY)


@mcp.tool()
def query_business_info(keyword: str) -> str:
    """
    查询企业工商信息
    
    通过企业名称关键词查询工商注册信息，包括：
    - 企业基本信息（名称、法人、注册资本等）
    - 注册地址
    - 经营范围
    - 成立日期
    - 企业状态
    
    【使用示例】
    
    1. 查询具体企业：
       keyword="杭州数脉科技有限公司"
    
    2. 模糊搜索：
       keyword="阿里巴巴"
    
    【注意事项】
    - 需要配置站长之家 API Key（CHINAZ_API_KEY 环境变量）
    - API 调用可能有频率限制
    - 企业名称需要尽量准确
    
    Args:
        keyword: 企业名称关键词，例如 "杭州数脉科技有限公司"
        
    Returns:
        JSON格式的查询结果
    """
    try:
        result = query_engine.query_business_info(keyword)
        
        response = {
            "success": result.get("success", False),
            "data": result.get("data"),
            "status_code": result.get("status_code"),
            "query": {
                "keyword": keyword
            }
        }
        
        if not result.get("success"):
            response["error"] = result.get("error", "查询失败")
        
        return json.dumps(response, ensure_ascii=False, indent=2)
        
    except Exception as e:
        error_response = {
            "success": False,
            "error": str(e),
            "data": None,
            "query": {
                "keyword": keyword
            }
        }
        return json.dumps(error_response, ensure_ascii=False, indent=2)


if __name__ == "__main__":
    mcp.run()


def main():
    """命令行入口点函数"""
    mcp.run()
