# RAGfly — Your AI, answering from your documents > Choose your folders and talk to your documents, with the source of every answer. Connect them to Claude, ChatGPT or your own agents. We don't store your documents. ## HOW IT WORKS 1. Choose your folders. With RAGfly Desktop, on Mac or Windows. RAGfly reads, organizes and indexes them on its own — scans included. We don't store your documents. 2. Try it in the chat. Ask RAGfly's chat about your documents and see how it answers. Every answer comes with its source: the document and the page. 3. Connect your agents. Then put it to work: Claude, ChatGPT or your own agents query your documents whenever they need them. Over MCP, REST, the SDK or the CLI. ## Agent interface catalog Discover MCP tools with tools/list. Discover the separate manifest operations with GET /v1/operations. Updated: 2026-10-27 ## MCP connection - Streamable HTTP endpoint (recommended): https://api.ragfly.ai/mcp-http/ - SSE endpoint (legacy, not recommended; its session is lost on a redeploy): https://api.ragfly.ai/mcp/sse - Authentication: OAuth 2.1 or Authorization: Bearer rf_xxxxxxxxxx (API Key issued from a human session) - Scope: Every call is filtered by the key owner’s organization, workspace, area and role. Flexible workspace focus is stored server-side. - RAGfly Desktop is included on every plan, Free included: https://ragfly.ai/download - Key-based setup script (validates the key, stores it in ~/.ragfly/ragfly-mcp.env, registers Claude Code / Codex / Claude Desktop; download, read, then run): https://ragfly.ai/integradores/ragfly-mcp-setup.sh - Same setup for Windows PowerShell 5.1+ (not yet run on a Windows machine; see MCP.md): https://ragfly.ai/integradores/ragfly-mcp-setup.ps1 API keys are issued through a signed-in human session. A fixed-workspace key cannot change workspace. A flexible key can select an authorized workspace or release focus with workspace_code: null; the server persists the focus for that key. ## MCP tools (42) ### session Verifies the connection and returns the identity and the active organization, workspace and area ### set_active_workspace Sets an authorized workspace for a flexible key or releases focus with null; fixed keys cannot change workspace Parameters: `workspace_code` (string or null) ### unset_active_workspace Releases the workspace focus (same as `set_active_workspace` with null): back to the identity's default workspace scope ### list_operations What this key can do: every operation its RBAC allows, with `kind` and `confirm_required` ### get_operation One operation with its `input_schema` and `output_schema` Parameters: `code` ### run_operation Runs one operation. A `write_confirm` one only runs with `confirm=true`; otherwise it returns a preview Parameters: `code`, `input?`, `confirm?` ### list_documents Lists organization documents with filters Parameters: `status`, `limit`, `page` ### get_document Full detail of a document Parameters: `document_code` ### document_edges Corpus-graph edges of a document: neighbors and documents at 2 hops Parameters: `document_code`, `neighbor_limit?` ### list_collections Lists the organization's Collections Parameters: `limit` ### get_collection Collection detail: criteria + documents + queue Parameters: `collection_id`, `doc_limit` ### compose_collections Set algebra (COMPOSE) of two Collections → a new Collection handle Parameters: `operation`, `collection_id_a`, `collection_id_b`, `name?`, `collection_type?` (`TEMPORARY`|`SAVED`) ### read_collection Materialize a Collection (READ) at a chosen resolution, paginated Parameters: `collection_id`, `resolution?`, `query?`, `limit?` ### refresh_collection Re-applies the Collection's natural-language criteria and re-materializes its set (picks up newly qualifying documents) Parameters: `collection_id` ### save_collection Saves a temporary Collection (`TEMPORARY`) as a saved one (`SAVED`) Parameters: `collection_id` ### wiki_index Index of the compiled-knowledge pages visible from the active area. **Not available to integrator keys today (403)** Parameters: `area_code?` ### wiki_page One compiled-knowledge page. **Not available to integrator keys today (403)** Parameters: `document_code` ### compile_collection Compiles a Collection (background job). The leaf skill must be one your access can run; the default public code is `COMPILE_PAGE` Parameters: `collection_id`, `leaf_skill_code?` ### queue Current state of the processing pipeline Parameters: `process`, `status`, `limit` ### list_runs Skill run history Parameters: `limit` ### catalog User capabilities: available functions + LLM skills (RBAC-filtered) Parameters: `type?` (`FUNCTIONS`|`SKILLS`|`ALL`) ### list_skills LLM skills available to you (the same list as `catalog`) ### get_skill Skill detail: type and output; prompt and model only if your role administers skills Parameters: `skill_code` ### run_skill Queues a run over a collection or document Parameters: `skill_code`, `collection_id?`, `document_code?` ### search_documents Direct semantic search over the corpus. `filter` narrows by document type, file attributes and content characteristics (codes from `list_document_types` and `list_characteristics`); a valid filter answers `filter_not_available` until structured filters are enabled for the organization Parameters: `query`, `limit?`, `min_similarity?`, `workspace_code?`, `collection_id?`, `filter?`, `location_code?` ### list_document_types Document types of the workspace as a tree, with parent, synonyms and document counts. Picking a type also covers its more specific types Parameters: `workspace_code?` ### list_characteristics Content characteristics (a date, an amount, an ID, a person…) available for the given types and their more specific ones Parameters: `document_types?`, `workspace_code?` ### ask Natural language question with full RAG (non-streaming). `mode: "help"` answers questions about RAGfly itself instead, without links to web screens Parameters: `message`, `function_code?`, `conversation_id?`, `title?`, `location_code?`, `mode?` ### set_active_area Set or release an organizational area focus Parameters: `area_code` (required; `null` releases) ### list_areas List visible organizational areas Parameters: `workspace_code?`, `parent_code?`, `query?`, `limit?`, `cursor?` ### list_locations List visible document folders Parameters: `workspace_code?`, `parent_code?`, `query?`, `limit?`, `cursor?` ### get_agent_context Authenticated layered prompt, identity, allowed tools and limits for Agentic Retrieval. Tool names are stable English identifiers; the available list and schemas depend on identity/profile Parameters: `function_profile?` (`user_chat`|`support_chat`) ### run_agent_tool Runs one tool from the current authenticated AgentContext Parameters: `public_name`, `arguments_json?`, `function_profile?` ### get_organization Reads this organization's profile and what is still missing ### update_organization Writes the profile. Needs an administrator of the organization Parameters: `group_description?`, `group_system_prompt?`, `workspace_description?`, `workspace_system_prompt?` ### draft_organization Proposes the four profile texts from a source text. Does **not** save Parameters: `source_text` ### get_usage Plan quotas against what is already consumed ### list_conversations Conversation history; its ids feed `ask` Parameters: `function_code?`, `limit?` ### delete_conversation Deletes a conversation and its messages. Not reversible Parameters: `conversation_id` ### list_processes Process instances: support, requests, collection jobs Parameters: `status?`, `process_type?`, `category?`, `mine?`, `only_open?`, `limit?`, `page?` ### get_process One process in full, with description and comments Parameters: `process_code` ### update_process Updates the fields the "My Processes" screen lets a person edit Parameters: `process_code`, `status?`, `priority?`, `name?`, `description?`, `comments?`, `assigned_to?`, `due_at?`, `finished_at?` ## Manifest operations Separate manifest catalog of screen operations allowed by the credential after RBAC filtering. Its entries are not MCP tools. Endpoint: GET https://api.ragfly.ai/v1/operations ## Guidance resources (1) ### Configurar conectores de ingesta: Google Drive y Dropbox Cuando una persona necesite conectar Google Drive o Dropbox, acompáñala con estas guías. No es una tool MCP, un comando CLI, una operación REST ni una función del SDK: el administrador configura la aplicación y los parámetros del grupo directamente en RAGfly; cada usuario autoriza su propia cuenta y elige la carpeta en el navegador. Security rules: - Nunca pidas, recibas, almacenes ni repitas secretos de cliente, access tokens, refresh tokens, contraseñas, cookies o códigos OAuth. - Indica al administrador que ingrese las credenciales de aplicación solo en Parámetros de Grupo de RAGfly; el agente solo describe los pasos y verifica requisitos no sensibles. - No intentes completar la autorización OAuth ni seleccionar carpetas fuera del navegador y la sesión del usuario. Documentation: - [Guía humana: Google Drive](https://ragfly.ai/build/google-drive) - [Guía humana: Dropbox](https://ragfly.ai/build/dropbox) - [Referencia técnica: Google Drive (Markdown)](https://ragfly.ai/integradores/GOOGLE_DRIVE.md) - [Referencia técnica: Dropbox (Markdown)](https://ragfly.ai/integradores/DROPBOX.md)