mcp-trmm logo

mcp-trmm

by Nels2

This project interacts with the Tactical Remote Monitoring and Management (RMM) API, creates an SQLite3 database from the API schema, and enables Retrieval-Augmented Generation (RAG) to enhance interaction with the API. It provides tools to query the RMM API schema, forward requests to the live production RMM API server, and offer an LLM-powered CLI interface.

View on GitHub

Last updated: N/A

What is mcp-trmm?

mcp-trmm is a project designed to parse the RMM API schema, store it in an SQLite3 database, and use it to augment queries made to the live RMM API. It includes a proxy server, a Flask API endpoint, and an LLM-powered CLI interface for exploring available paths.

How to use mcp-trmm?

First, install the dependencies. Then, run 01_create_database.py to create the SQLite database. After that, start the Flask API server (03_flaskapi.py) and the LLM CLI session (03_llm_cli__rag.py). Finally, run the MCP proxy server (03_mcpserver.py) to forward requests to the live RMM API. You can then interact with the API using the CLI or directly through the Flask API.

Key features of mcp-trmm

  • Parses RMM API schema

  • Stores schema in SQLite3 database

  • Forwards API queries to live RMM API

  • Provides LLM-powered CLI interface

  • Supports Retrieval-Augmented Generation (RAG)

  • Includes a debug relay and MCP proxy server

Use cases of mcp-trmm

  • Schema Exploration: Dynamically query the API schema.

  • Forward Requests to Live API: Interact with the live production system.

  • RAG (Retrieval-Augmented Generation): Enable context-aware queries of the RMM API.

FAQ from mcp-trmm

What is the purpose of 01_create_database.py?

It creates a SQLite database from a JSON schema containing the RMM API details.

What does 02_debug_relay2RMM.py do?

It acts as a proxy server for querying the RMM API schema and forwarding API requests to the live production RMM API server.

What is the role of 03_mcpserver.py?

It acts as an MCP proxy server, forwarding queries to the live production RMM API server.

How does the LLM CLI work?

It allows users to ask questions related to the RMM API paths available in the schema, leveraging the SQLite3 database to find relevant API paths dynamically.

What dependencies are required for the project?

fastapi, uvicorn, httpx, mcpo, sqlite3, pyyaml, flask, requests, flasgger