Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Flatpak Documentation Server

FreeNot checked

Enables browsing, reading, and searching Flatpak documentation files (.rst and .html) through a standardized MCP interface. Provides tools to list, get content,

GitHubEmbed

About

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

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

  1. Clone this repository:

    git clone https://github.com/MVDW-Java/flatpak-doc-mcp.git
    cd flatpak-doc-mcp
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. 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 content
  • max_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 index
  • introduction.rst - Introduction to Flatpak
  • basic-concepts.rst - Basic concepts and terminology
  • getting-started.rst - Getting started guide
  • building.rst - Building applications
  • flatpak-builder.rst - Using flatpak-builder
  • publishing.rst - Publishing applications
  • sandbox-permissions.rst - Sandbox permissions
  • portals.rst - Portals for sandboxed applications
  • debugging.rst - Debugging applications

Reference Documentation (.html files):

  • flatpak-docs.html - Flatpak command reference
  • flatpak-builder-docs.html - flatpak-builder command reference
  • libflatpak-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

  1. New Tools: Add new tool handlers in the FlatpakDocServer.setup_handlers() method
  2. New Prompts: Add new prompt handlers in the same method
  3. Configuration: Modify DOCS_ROOT and SUPPORTED_EXTENSIONS constants 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

Support

For issues or questions:

  1. Check the Flatpak documentation
  2. Open an issue in the repository
  3. Consult the MCP documentation for client integration issues

from github.com/MVDW-Java/flatpak-doc-mcp

Installing Flatpak Documentation Server

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/MVDW-Java/flatpak-doc-mcp

FAQ

Is Flatpak Documentation Server MCP free?

Yes, Flatpak Documentation Server MCP is free — one-click install via Unyly at no cost.

Does Flatpak Documentation Server need an API key?

No, Flatpak Documentation Server runs without API keys or environment variables.

Is Flatpak Documentation Server hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Flatpak Documentation Server in Claude Desktop, Claude Code or Cursor?

Open Flatpak Documentation Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Flatpak Documentation Server with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs