Flatpak Documentation MCP Server
Enables browsing, reading, and searching Flatpak documentation files (.rst and .html) through a standardized MCP interface. Provides tools to list, get content, search across documents, and retrieve documentation structure, along with pre-defined prompts for common topics.
README
Flatpak Documentation MCP Server
An MCP (Model Context Protocol) server that provides access to Flatpak documentation files (.rst and .html) through a standardized interface.
Features
- List Documentation: Browse all available Flatpak documentation files
- Get Documentation: Read the content of specific documentation files
- Search Documentation: Search across all documentation files for specific terms
- Documentation Structure: Get the table of contents and structure of the documentation
- Prompts: Pre-defined prompts for common documentation queries
Installation
-
Clone this repository:
git clone https://github.com/MVDW-Java/flatpak-doc-mcp.git cd flatpak-doc-mcp -
Install dependencies:
pip install -r requirements.txt -
The server includes the Flatpak documentation as a submodule. If you haven't already initialized it:
git submodule update --init --recursive
Usage
Running the Server
The server can be run directly:
python app.py
Integration with MCP Clients
To use this server with an MCP client (like Claude Desktop), add it to your client configuration:
Example configuration for Claude Desktop:
{
"mcpServers": {
"flatpak-docs": {
"command": "python",
"args": ["/path/to/flatpak-doc-mcp/app.py"],
"env": {
"PYTHONPATH": "/path/to/flatpak-doc-mcp"
}
}
}
}
Available Tools
1. list_docs
List all available Flatpak documentation files.
Parameters:
filter(optional): Filter to search for specific documentation (e.g., 'builder', 'command')
Example:
list_docs(filter="builder")
2. get_doc
Get the content of a specific Flatpak documentation file.
Parameters:
filename(required): Name of the documentation file (e.g., 'building.rst', 'flatpak-docs.html')search_term(optional): Search term to find within the document
Example:
get_doc(filename="building.rst", search_term="sandbox")
3. search_docs
Search across all Flatpak documentation files.
Parameters:
query(required): Search query to find in documentation contentmax_results(optional): Maximum number of results to return (default: 10)
Example:
search_docs(query="flatpak build", max_results=5)
4. get_doc_structure
Get the structure of Flatpak documentation (table of contents).
Example:
get_doc_structure()
Available Prompts
1. flatpak_overview
Get an overview of Flatpak documentation.
2. flatpak_topic
Get documentation about a specific Flatpak topic.
Parameters:
topic(required): Topic to get documentation about (e.g., 'building', 'sandbox', 'commands')
Documentation Structure
The Flatpak documentation includes:
Core Documentation (.rst files):
index.rst- Main documentation indexintroduction.rst- Introduction to Flatpakbasic-concepts.rst- Basic concepts and terminologygetting-started.rst- Getting started guidebuilding.rst- Building applicationsflatpak-builder.rst- Using flatpak-builderpublishing.rst- Publishing applicationssandbox-permissions.rst- Sandbox permissionsportals.rst- Portals for sandboxed applicationsdebugging.rst- Debugging applications
Reference Documentation (.html files):
flatpak-docs.html- Flatpak command referenceflatpak-builder-docs.html- flatpak-builder command referencelibflatpak-docs.html- libflatpak API reference
Additional Topics:
- Desktop integration
- Dependencies and modules
- Hosting repositories
- Tips and tricks
- Under the hood details
Development
Project Structure
flatpak-doc-mcp/
├── app.py # Main MCP server implementation
├── requirements.txt # Python dependencies
├── README.md # This file
└── flatpak-docs/ # Flatpak documentation submodule
└── docs/ # Documentation files
├── *.rst # ReStructuredText documentation
├── *.html # HTML documentation
└── ...
Adding New Features
- New Tools: Add new tool handlers in the
FlatpakDocServer.setup_handlers()method - New Prompts: Add new prompt handlers in the same method
- Configuration: Modify
DOCS_ROOTandSUPPORTED_EXTENSIONSconstants as needed
Testing
Run the server and test with an MCP client or use the Python REPL:
import asyncio
from app import FlatpakDocServer
async def test():
server = FlatpakDocServer()
# Test your handlers here
asyncio.run(test())
License
This MCP server is provided under the same license as the Flatpak documentation it serves.
Acknowledgments
- Flatpak for the comprehensive documentation
- Model Context Protocol for the protocol specification
- The MCP community for tools and libraries
Support
For issues or questions:
- Check the Flatpak documentation
- Open an issue in the repository
- Consult the MCP documentation for client integration issues
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.