# yacy_grid_mcp

> MCP Server

This repository hosts the Master Connect Program (MCP) for the YaCy Grid, a peer-to-peer search engine. The MCP acts as a broker, providing access to assets, messages, and databases for

## Overview

- **Category:** Search & Knowledge
- **Language:** Java
- **Stars:** 653
- **Forks:** 28
- **Owner:** yacy
- **GitHub:** https://github.com/yacy/yacy_grid_mcp
- **Created:** 2017-01-30T21:39:48+00:00
- **Updated:** 2025-03-15T14:11:01+00:00
- **Source:** https://model-context-protocol.com/servers/yacy-grid-master-connect-program-mcp

## Setup

## Setup

1.  Clone the repository: `git clone https://github.com/yacy/yacy_grid_mcp.git`
2.  Navigate to the directory: `cd yacy_grid_mcp`
3.  Run the application using Gradle: `gradle run`
4.  Install Maven and Gradle for development.
5.  Optionally, install and configure Apache FTP Server:
    *   Download from https://mina.apache.org/downloads-ftpserver.html, decompress, and configure user permissions in `users.properties`.
    *   Set `JAVA_HOME` in `bin/ftpd.sh` and run the server with `bin/ftpd.sh res/conf/ftpd-typical.xml`.
6.  Optionally, install and configure RabbitMQ:
    *   Download from https://www.rabbitmq.com/download.html, extract, and install Erlang.
    *   Run the server with `rabbitmq_server-3.6.6/sbin/rabbitmq-server`.
    *   Enable the management plugin: `rabbitmq_server-3.6.6/sbin/rabbitmq-plugins enable rabbitmq_management`.
    *   Add a user, set administration rights, and set access rights to vserver path '/' using `rabbitmqctl`.
    *   Configure remote access by adding a configuration file to `rabbitmq_server-3.6.6/etc/rabbitmq/rabbitmq.config`.
7.  Configure the MCP by creating `data/mcp-8100/conf/config.properties` and setting FTP and broker addresses.
8.  Refer to the [yacy Docker installation readme](/docs/installation_docker.md) for Docker installation.
9.  Refer to the [yacy_grid_mcp Cloud installation readme](/docs/) for Cloud Providers installation.

## Tools

## Available Tools

1.  **Asset Storage:** Provides file sharing environment for YaCy components, supporting FTP server or local storage.
2.  **Message System:** Offers an Enterprise Integration Framework using RabbitMQ message queues or MapDB for message distribution.
3.  **Database System:** Delivers search-engine related retrieval functions using Elasticsearch or MapDB for database operations.
4.  **Webloader:** A headless browser to enrich HTTP content with AJAX.
5.  **Webcrawler:** A crawler to load documents from the web.
6.  **Warcmanager:** Combines single WARC files to create archives.
7.  **Yacyparser:** Turns WARC into YaCy JSON.
8.  **Yacyenricher:** A semantic enricher for YaCy JSON objects.
9.  **Yacyindexer:** A loader which pushes parsed/enriched YaCy JSON content to a search index.
10. **Aggregation:** A search front-end which combines different index sources into one.
11. **Moderation:** A search front-end for content moderation and search index account management.
12. **Successmessages:** A service which handles the successful operation messages.
13. **Errormessages:** A service which handles failure messages and broken action chains.
