MediaWiki MCP adapter

by lucamauri
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides access to WikiBase APIs, with the default API base URL set to Wikidata's API endpoint for programmatic interaction.

  • Enables fetching and editing MediaWiki pages with the default API base URL set to Wikipedia's API endpoint, supporting page content retrieval and editing operations.

Adaptador MediaWiki

Un adaptador personalizado del Protocolo de Contexto de Modelo (MCP) para interactuar con las API de MediaWiki y WikiBase. Este adaptador permite obtener y editar páginas de MediaWiki mediante programación utilizando el marco MCP.

Características

  • Obtener el contenido de una página de MediaWiki.
  • Editar una página de MediaWiki con contenido nuevo y un resumen opcional.
  • URL base de API configurables para diferentes instancias de MediaWiki y WikiBase.

Requisitos

  • Node.js (v16 o posterior)
  • TypeScript (para desarrollo)
  • Instancia de MediaWiki con acceso API habilitado

Instalación

  1. Clonar el repositorio:
git clone https://github.com/yourusername/mediawikiadapter.git cd mediawikiadapter
  1. Instalar dependencias:
    npm install
  2. Construir el proyecto:
    npm run build

Uso

Configurar el adaptador

Puede configurar el adaptador para utilizar puntos finales de API MediaWiki y WikiBase personalizados:

server.configure({ mediaWikiAPIBase: "https://my.mediawiki.instance/api.php", wikiBaseAPIBase: "https://my.wikibase.instance/api.php", });

Iniciar el servidor MCP

Ejecute el servidor MCP utilizando el siguiente comando:

node build/index.js

Recursos

obtenerContenidoDePágina

Obtiene el contenido de una página de MediaWiki.

  • Esquema de entrada :
{ "title": "string" }
  • Esquema de salida :
    { "content": "string" }

Ejemplo de uso:

const response = await server.callResource("getPageContent", { title: "Main Page", }); console.log(response.content);

Herramientas

editar página

Edita una página de MediaWiki con contenido nuevo.

  • Esquema de entrada :
{ "title": "string", "content": "string", "summary": "string (optional)" }
  • Esquema de salida :
{ "success": "boolean" }

Ejemplo de uso:

const response = await server.callTool("editPage", { title: "Main Page", content: "Updated content for the page.", summary: "Updated via MediaWikiAdapter", }); console.log(response.success ? "Edit successful" : "Edit failed");

Desarrollo

Ejecutar en modo de desarrollo

Para ejecutar el proyecto en modo de desarrollo con TypeScript:

npm run dev

Pelusa

Ejecute el linter para comprobar la calidad del código:

npm run lint

Pruebas

Actualmente no hay pruebas implementadas. Puedes agregar pruebas al directorio test y ejecutarlas usando:

npm test

Configuración

El adaptador utiliza las siguientes URL base de API predeterminadas:

Puede anular estos valores predeterminados mediante el método server.configure() .


Contribuyendo

¡Agradecemos sus contribuciones! Siga estos pasos:

  1. Bifurcar el repositorio.
  2. Crea una nueva rama para tu característica o corrección de error.
  3. Envíe una solicitud de extracción con una descripción detallada de sus cambios.

Licencia

Este proyecto está licenciado bajo la licencia LGPL-3.0 o posterior . Consulte el archivo de LICENCIA para obtener más información.


Autor

Creado por Luca Mauri .

-
security - not tested
A
license - permissive license
-
quality - not tested

Un adaptador de protocolo de contexto de modelo personalizado para las API de MediaWiki y WikiBase

  1. Features
    1. Requirements
      1. Installation
        1. Usage
          1. Configure the Adapter
          2. Start the MCP Server
          3. Resources
          4. Tools
        2. Development
          1. Run in Development Mode
          2. Linting
          3. Testing
        3. Configuration
          1. Contributing
            1. License
              1. Author
                ID: 2kd2tl3hsl