# TRUStworthyq Mcp Server

> Model Context Protocol server built with Spring AI — command, file, and Tavily search tools

- **Type:** MCP server
- **Install:** `agentstack add mcp-trustworthyq-mcp-server`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [tRUStworthyq](https://agentstack.voostack.com/s/trustworthyq)
- **Installs:** 0
- **Category:** [Search](https://agentstack.voostack.com/c/search)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [tRUStworthyq](https://github.com/tRUStworthyq)
- **Source:** https://github.com/tRUStworthyq/mcp-server

## Install

```sh
agentstack add mcp-trustworthyq-mcp-server
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# MCP Server

MCP-сервер (Model Context Protocol) на базе Spring Boot и Spring AI. Предоставляет набор инструментов (tools), которые может вызывать LLM-клиент: выполнение команд в командной строке, чтение и запись файлов, а также поиск в интернете через [Tavily API](https://tavily.com/).

## Стек технологий

- **Java 21**
- **Spring Boot 4.0.6**
- **Spring AI 2.0.0-M6** (`spring-ai-starter-mcp-server-webflux`)
- **Project Reactor** (WebFlux, реактивный стек)
- **Lombok**
- **Maven**

## Возможности

Сервер регистрирует следующие MCP-инструменты:

| Инструмент   | Имя (`name`)  | Описание                                                                 |
|--------------|---------------|--------------------------------------------------------------------------|
| `CommandTools` | `command`   | Выполнение произвольной команды в командной строке (`cmd /c`).           |
| `FileTools`    | `read_file` | Чтение содержимого файла по указанному пути.                             |
| `FileTools`    | `write_file`| Перезапись (создание) файла с заданным содержимым.                       |
| `SearchTool`   | `search`    | Поиск в интернете через Tavily API, возвращает ответ и список результатов. |

## Требования

- JDK 21 или выше
- Maven 3.9+ (или используйте встроенный `./mvnw`)
- API-ключ для Tavily (для работы инструмента `search`)

> **Примечание:** инструмент `command` использует `cmd /c`, что предполагает запуск на **Windows**. Для Linux/macOS потребуется изменить логику запуска процесса в `CommandTools`.

## Конфигурация

Основные настройки находятся в `src/main/resources/application.yaml`:

```yaml
spring:
  application:
    name: mcp-server
  ai:
    mcp:
      server:
        name: code-server
        version: 1.0.0
        protocol: STREAMABLE      # транспорт MCP
        type: ASYNC               # асинхронный (реактивный) режим
        annotation-scanner:
          enabled: true           # автоматическое сканирование @McpTool

server:
  port: 8081                      # порт сервера

logging:
  level:
    org.springframework.ai.tool: DEBUG
    io.modelcontextprotocol.server: DEBUG
    ru.sber.mcpserver: DEBUG

search:
  api-key: "PUT_YOUR_API_KEY_HERE"   # ключ Tavily API
```

Перед запуском подставьте свой ключ Tavily вместо `PUT_YOUR_API_KEY_HERE` в поле `search.api-key`.

## Сборка и запуск

### Сборка

```bash
./mvnw clean package
```

### Запуск

```bash
./mvnw spring-boot:run
```

или из собранного JAR:

```bash
java -jar target/mcp-server-0.0.1-SNAPSHOT.jar
```

После запуска сервер доступен на порту **8081**. MCP-эндпоинт работает по протоколу **STREAMABLE HTTP**.

## Подключение MCP-клиента

Сервер реализует протокол MCP (transport: STREAMABLE HTTP) и может быть подключён к любому совместимому клиенту. Пример конфигурации клиента, обращающегося к серверу:

```json
{
  "mcpServers": {
    "code-server": {
      "url": "http://localhost:8081/mcp"
    }
  }
}
```

> Точный путь эндпоинта зависит от версии Spring AI MCP starter — уточните его в логах при запуске (включён `DEBUG` для `io.modelcontextprotocol.server`).

## Безопасность

Этот сервер предоставляет LLM мощные и потенциально опасные возможности. **Не разворачивайте его в недоверенной среде без дополнительной защиты.**

- **`command`** позволяет выполнить любую команду ОС — это фактически удалённое выполнение кода. Нет валидации или ограничений на вводимые команды.
- **`read_file` / `write_file`** дают доступ к произвольным путям файловой системы без ограничений по директориям. Возможна перезапись важных файлов.
- API-ключ Tavily задаётся прямо в `application.yaml`. Не коммитьте реальный ключ в репозиторий — храните его отдельно или вынесите в переменную окружения.

Перед использованием в реальных условиях рекомендуется добавить: белые списки команд, ограничение файловых операций пределами рабочей директории, аутентификацию клиентов и аудит вызовов.

## Лицензия

Проект распространяется под лицензией MIT. См. файл [LICENSE](LICENSE.txt).

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [tRUStworthyq](https://github.com/tRUStworthyq)
- **Source:** [tRUStworthyq/mcp-server](https://github.com/tRUStworthyq/mcp-server)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-trustworthyq-mcp-server
- Seller: https://agentstack.voostack.com/s/trustworthyq
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
