Token导航 LogoToken导航TokenDH.com
Adventure Forge Conversation MCP logo
运维云端stdio官方级别未说明来源级核验

Adventure Forge Conversation MCP

MCP Server

基于FastAPI的微服务,利用Google Gemini模型生成符合Adventure Forge格式的对话。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
微服务Python云端部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

AndersenCastanedaUniAndes

提供方

AndersenCastanedaUniAndes

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

Adventure Forge Conversation MCP API

Este proyecto es un microservicio HTTP basado en FastAPI que expone un endpoint para generar conversaciones en el formato de Adventure Forge utilizando el modelo Gemini de Google (vía langchain-google-genai).

Descripción general

  • Expone un endpoint POST /create-conversation que recibe un texto de entrada (input) y devuelve una conversación en el formato de Adventure Forge.
  • Utiliza langchain y ChatGoogleGenerativeAI para orquestar el LLM de Gemini.
  • Usa prompting estructurado con un contexto (formato_conversacion) y un ejemplo (ejemplo_conversacion) para forzar el formato de salida.
  • Se despliega habitualmente en contenedor Docker y puede orquestarse con docker-compose.

Arquitectura

Componentes principales

  • main.py

- Inicializa la aplicación FastAPI (app). - Define el modelo de entrada RequestBody con el campo input: str. - Carga variables de entorno mediante python-dotenv (se espera GOOGLE_API_KEY). - Configura el endpoint POST /create-conversation decorado con @traceable de langsmith. - Dentro del endpoint: - Construye un ChatPromptTemplate con: - question: texto de entrada del usuario. - context: formato_conversacion desde helpers.py. - example: ejemplo_conversacion desde helpers.py. - Instancia ChatGoogleGenerativeAI con el modelo gemini-2.5-flash y parámetros de temperatura y longitud máxima. - Invoca el LLM y devuelve un JSON con la clave conversation que contiene el texto generado.

  • helpers.py

- Define formato_conversacion: documentación detallada del formato Adventure Forge (tipos de nodos, cabeceras, enlaces, respuestas, escritura rápida, etc.). - Define ejemplo_conversacion: ejemplo completo de una conversación en formato Adventure Forge que sirve de guía al modelo.

Dependencias clave

Definidas en requirements.txt:

  • fastapi[standard] y uvicorn[standard]: framework web y servidor ASGI.
  • python-dotenv: carga de variables de entorno desde .env.
  • google-genai: SDK de Gemini.
  • langchain-core, langchain-google-genai: integración de LangChain con Gemini.
  • langsmith: trazabilidad y observabilidad del flujo (utilizado con el decorador @traceable).

Flujo de petición

  1. El cliente realiza una petición POST a /create-conversation con cuerpo JSON:
   {
     "input": "Tema o descripción de la escena"
   }
  1. El servicio construye un prompt usando:

- El tema proporcionado (input). - El contexto de formato (formato_conversacion). - Un ejemplo de referencia (ejemplo_conversacion).

  1. El LLM Gemini genera un texto siguiendo el formato Adventure Forge.
  2. La respuesta se devuelve como:
   {
     "conversation": "=P= Intro ==\n..."
   }

Despliegue y ejecución

Variables de entorno

Crear un archivo .env en la raíz del proyecto con al menos:

GOOGLE_API_KEY=tu_api_key_de_gemini

Ejecución local (sin Docker)

Requisitos: Python 3.11

cd mcp-api
python -m venv .venv
.venv\Scripts\activate
pip install --upgrade pip
pip install -r requirements.txt
uvicorn main:app --reload --host 0.0.0.0 --port 8000

La API quedará disponible en http://localhost:8000.

Ejecución con Docker

Construir la imagen y levantar el servicio con Docker Compose:

docker compose build
docker compose up -d

El servicio expone el puerto 8000 configurado en docker-compose.yml.

Uso del endpoint

Ejemplo de petición con curl:

curl -X POST "http://localhost:8000/create-conversation" ^
  -H "Content-Type: application/json" ^
  -d "{\"input\": \"Un encuentro misterioso en el bosque\"}"

Respuesta esperada (estructura general):

{
  "conversation": "=P= Intro ==\n..."
}

Manejo de errores

  • Si ocurre una excepción al invocar el LLM, el endpoint devuelve un mensaje de error en texto plano con información básica del fallo.

Extensiones futuras

  • Agregar más endpoints para otros tipos de contenido de Adventure Forge (por ejemplo, nodos de decisión avanzados o árboles de diálogo complejos).
  • Internacionalización del prompt y del formato de ejemplo.
  • Validación automática del formato generado antes de responder.

目录标签

目录标签

微服务Python云端部署对话生成本地部署FastAPIGemini模型AdventureForge

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP