FullScope-MCP

Un servidor MCP para resumir contenido, compatible con extracción web, lectura de archivos y llamadas directas al modelo.

Documentación

FullScope-MCP

MCP Server para resumen de contenido y operaciones, compatible con extracción web, lectura de archivos, resumen de contenido, agregación de temas y más.

FullScope-MCP MCP server

🌟 Características

FullScope-MCP es un servidor de Model Context Protocol (MCP) integral, diseñado específicamente para escenarios de resumen de contenido y operaciones. Admite las siguientes funciones principales:

  1. 🤖 Llamada de modelos: Llama directamente a modelos de lenguaje grandes para responder.
  2. 🌐 Extracción web: Extrae contenido de páginas web, con opción de guardarlo como archivo de texto txt.
  3. 📝 Resumen de contenido: Resume cualquier contenido a una longitud especificada (por defecto el 20% del original, versión condensada).
  4. 🔗 Resumen web: Obtiene contenido de páginas web y lo resume automáticamente en una versión refinada.
  5. 📄 Resumen de archivos de texto: Lee archivos de texto como txt y resume su contenido (limitado a 2k caracteres de salida).
  6. 📚 Resumen de archivos PDF: Lee archivos PDF y resume su contenido textual (limitado a 2k caracteres de salida).
  7. 🎯 Agregación de temas: Similar a la función RAG, dado el contenido de los materiales y un tema de consulta, devuelve el resumen de contenido más relevante (dentro de 2k caracteres).

📦 Instalación

Instalación con uvx (recomendado)

uvx fullscope-mcp-server

Instalación con pip

pip install fullscope-mcp-server

Instalación desde el código fuente

git clone https://github.com/yzfly/fullscope-mcp
cd fullscope-mcp
pip install -e .

⚙️ Configuración

Configuración de variables de entorno

Antes de usar, es necesario configurar las siguientes variables de entorno:

Configuración obligatoria

# MiniMax API Key(必需)
export OPENAI_API_KEY="your-minimax-api-key"

Configuración opcional

# API 基础 URL(默认使用 MiniMax)
export OPENAI_BASE_URL="https://api.minimaxi.com/v1"

# 使用的模型(默认 MiniMax-M1)
export OPENAI_MODEL="MiniMax-M1"

# 输入上下文最大 token 数(默认 120000)
export MAX_INPUT_TOKENS="120000"

# 输出上下文最大 token 数(默认 8000)  
export MAX_OUTPUT_TOKENS="8000"

Configuración de Claude Desktop

Para usar en Claude Desktop, agregue la siguiente configuración a claude_desktop_config.json:

{
  "mcpServers": {
    "fullscope-mcp": {
      "command": "uvx",
      "args": ["fullscope-mcp-server"],
      "env": {
        "OPENAI_API_KEY": "your-minimax-api-key-here",
        "OPENAI_BASE_URL": "https://api.minimaxi.com/v1",
        "OPENAI_MODEL": "MiniMax-M1",
        "MAX_INPUT_TOKENS": "900000",
        "MAX_OUTPUT_TOKENS": "8000"
      }
    }
  }
}

O use la versión instalada con pip:

{
  "mcpServers": {
    "fullscope-mcp": {
      "command": "python",
      "args": ["-m", "fullscope_mcp_server"],
      "env": {
        "OPENAI_API_KEY": "your-minimax-api-key-here",
        "OPENAI_BASE_URL": "https://api.minimaxi.com/v1",
        "OPENAI_MODEL": "MiniMax-M1",
        "MAX_INPUT_TOKENS": "900000",
        "MAX_OUTPUT_TOKENS": "8000"
      }
    }
  }
}

🚀 Métodos de uso

1. Llamada de modelos

# 工具名: call_model
# 参数: prompt (str) - 要发送给模型的提示词
# 返回: 模型的回答

2. Extracción web

# 工具名: scrape_webpage  
# 参数: 
#   - url (str) - 要抓取的网页URL
#   - save_to_file (bool) - 是否保存内容到txt文件
# 返回: 抓取结果和文件路径(如果保存)

3. Resumen de contenido

# 工具名: summarize_content
# 参数:
#   - content (str) - 要总结的内容  
#   - target_ratio (float) - 目标压缩比例,0.1-1.0之间,默认0.2
# 返回: 总结后的内容

4. Resumen web

# 工具名: summarize_webpage
# 参数:
#   - url (str) - 要抓取和总结的网页URL
#   - target_ratio (float) - 目标压缩比例,默认0.2
# 返回: 网页内容总结

5. Resumen de archivos de texto

# 工具名: read_and_summarize_text_file
# 参数:
#   - filepath (str) - 文本文件路径
#   - target_ratio (float) - 目标压缩比例,默认0.2
# 返回: 文件内容总结

6. Resumen de archivos PDF

# 工具名: read_and_summarize_pdf_file  
# 参数:
#   - filepath (str) - PDF文件路径
#   - target_ratio (float) - 目标压缩比例,默认0.2
# 返回: PDF内容总结

7. Agregación de temas

# 工具名: topic_based_summary
# 参数:
#   - content (str) - 资料内容
#   - query (str) - 查询的主题或问题
# 返回: 基于主题的相关内容总结(2k字符内)

📖 Ejemplos de uso

Uso en Claude Desktop

  1. Resumen de contenido web

    请帮我总结这个网页的内容:https://example.com/article
    
  2. Resumen de documentos

    请读取并总结这个PDF文件:/path/to/document.pdf
    
  3. Análisis de temas

    基于这段资料内容,帮我分析"人工智能发展趋势"相关的信息
    

Ejecutar el servidor directamente

# 设置环境变量
export OPENAI_API_KEY="your-api-key"

# 运行服务器
python fullscope_mcp_server.py

🔧 Guía de desarrollo

Estructura del proyecto

fullscope-mcp/
├── src/
│   └── fullscope_mcp_server/
│       ├── __init__.py
│       └── server.py
├── README.md
├── pyproject.toml
└── LICENSE

Desarrollo local

# 克隆项目
git clone https://github.com/yzfly/fullscope-mcp
cd fullscope-mcp

# 创建虚拟环境
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 安装开发依赖
pip install -e ".[dev]"

# 运行测试
pytest

Formato de código

# 格式化代码
black src/
isort src/

# 类型检查
mypy src/

🌐 Modelos compatibles

Este servidor está diseñado principalmente para la API de MiniMax, pero mediante la configuración de OPENAI_BASE_URL y parámetros relacionados, también puede admitir otros servicios de modelos compatibles con el formato de API de OpenAI:

  • MiniMax-M1 (recomendado por defecto)
  • MiniMax-Text-01
  • Otros servicios compatibles con el formato de API de OpenAI

Notas de configuración de la API de MiniMax

La API de MiniMax admite una longitud de contexto máxima de 1,000,192 tokens, muy adecuada para manejar documentos largos y tareas de resumen de grandes volúmenes de contenido.

🚀 Pasos para publicar en PyPI

1. Preparación para la publicación

# 安装构建工具
pip install build twine

# 构建包
python -m build

# 检查包
twine check dist/*

2. Publicar en TestPyPI (pruebas)

# 上传到 TestPyPI
twine upload --repository testpypi dist/*

# 从 TestPyPI 安装测试
pip install --index-url https://test.pypi.org/simple/ fullscope-mcp-server

3. Publicar en PyPI oficial

# 上传到 PyPI
twine upload dist/*

📝 Registro de cambios

v1.0.0 (2024-12-19)

  • ✨ Primera versión
  • 🌐 Soporte para extracción y guardado de páginas web
  • 📝 Soporte para resumen de contenido (proporción de compresión configurable)
  • 📄 Soporte para lectura y resumen de archivos de texto y PDF
  • 🎯 Soporte para agregación de temas (función RAG)
  • 🤖 Soporte para llamada directa de modelos
  • ⚙️ Configuración completa de variables de entorno
  • 📦 Soporte para instalación con uvx y pip

🤝 Contribuciones

¡Las contribuciones son bienvenidas! Envíe Issues y Pull Requests.

  1. Haga un fork de este proyecto
  2. Cree una rama de funcionalidad (git checkout -b feature/AmazingFeature)
  3. Realice los cambios (git commit -m 'Add some AmazingFeature')
  4. Envíe a la rama (git push origin feature/AmazingFeature)
  5. Abra un Pull Request

📄 Licencia

Este proyecto está bajo la licencia MIT - consulte el archivo LICENSE para más detalles.

👨‍💻 Autor

yzfly

🙏 Agradecimientos

❓ Preguntas frecuentes

P: ¿Cómo obtener una API Key de MiniMax?

R: Visite la Plataforma abierta de MiniMax, regístrese y obtenga la clave en Gestión de cuenta - Claves de API.

P: ¿Se pueden usar otros modelos?

R: ¡Sí! Configurando las variables de entorno OPENAI_BASE_URL y OPENAI_MODEL, puede usar cualquier servicio de modelos compatible con el formato de API de OpenAI.

P: ¿Hay límites de tamaño de archivo?

R: Sí, por consideraciones de rendimiento:

  • El contenido de archivos de texto y PDF está limitado a aproximadamente 120k caracteres
  • El contenido web se trunca automáticamente según los límites de contexto del modelo
  • Los resultados de agregación de temas están limitados a 2k caracteres

P: ¿Cómo usar en Claude Desktop?

R: Siga las instrucciones de configuración anteriores, agregue la configuración al archivo claude_desktop_config.json y reinicie Claude Desktop.


Si este proyecto le resulta útil, ¡dé una ⭐ estrella!