MCP.so
Sign In

FreeloMCP

@karlost

About FreeloMCP

No overview available yet

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "freelo-mcp": {
      "command": "npx",
      "args": [
        "freelo-mcp"
      ],
      "env": {
        "FREELO_EMAIL": "[email protected]",
        "FREELO_API_KEY": "VAS_API_KLIC"
      }
    }
  }
}

Tools

104

Fetches your own active projects in Freelo. Returns only projects that you own (where you are the project owner). For a complete list including shared projects, use get_all_projects instead. This is the quickest way to get an overview of projects you directly manage.

Fetches all projects in Freelo - both projects you own and projects shared with you. Supports pagination for large datasets. Use this when you need a comprehensive view of all accessible projects, including archived and template projects. For just your own projects, use get_projects for better performance.

Creates a new project in Freelo. Requires a project name and currency. Optionally, you can specify a project owner (defaults to current user). The project will be created in active state. Use create_project_from_template if you want to create from an existing template instead.

Fetches detailed information about a specific project, including workers, tasklists, custom fields, and project settings. Use this after get_projects or get_all_projects to dive deeper into a specific project. Essential for understanding project structure before creating tasks or managing workers.

Archives a project in Freelo. Archived projects are hidden from default views but remain accessible via get_archived_projects. All project data, tasks, and history are preserved. This is reversible - use activate_project to restore. Archiving is recommended over deletion for completed projects.

Activates an archived project in Freelo. The project will become visible in default views again and all functionality will be restored. Use this to un-archive projects that were previously archived. Get archived project IDs from get_archived_projects.

Permanently deletes a project from Freelo. WARNING: This action is irreversible! All tasks, files, comments, and project data will be permanently lost. Consider using archive_project instead for completed projects to preserve data. Only use this when you are absolutely certain the project should be removed.

Fetches projects where you have been invited as a collaborator but are not the owner. Returns projects shared with you by other users. Supports pagination. This is useful for viewing projects you contribute to but don't directly manage. For your own projects, use get_projects.

Fetches archived projects in Freelo. Archived projects are completed or inactive projects hidden from default views but with all data preserved. Use this to find project IDs for reactivation with activate_project or to access historical project data. Supports pagination.

Fetches project templates in Freelo. Templates are reusable project structures with predefined tasklists, tasks, and settings. Use this to find templates for creating new projects with create_project_from_template. Supports filtering by name, date, tags, users, and pagination.

Fetches all projects accessible to a specific user (by user ID). Returns projects the user owns or has been invited to. Useful for viewing another team member's workload or project portfolio. Supports filtering by project state (active/archived/finished), sorting, and pagination. Get user IDs from get_users first.

Creates a new project from an existing template. The new project will inherit the template's structure including tasklists, tasks, custom fields, and default settings. This is much faster than creating a project manually when you have standardized project structures. Get template IDs from get_template_projects first.

Fetches all tasks across all projects with powerful filtering options. Supports 14 different filters including fulltext search, project/tasklist filtering, label filtering, date ranges, worker assignment, and pagination. This is the primary tool for finding tasks - essential for task management workflows. For tasks in a specific tasklist, use get_tasklist_tasks for simpler queries.

Fetches tasks from a specific tasklist within a project. Simpler than get_all_tasks when you already know the project and tasklist. Returns tasks sorted by priority by default. Use this when drilling down from project → tasklist → tasks hierarchy. For cross-project task searches or complex filtering, use get_all_tasks instead.

Creates a new task in a specific tasklist within a project. The task is created in active state by default. You can optionally assign it to a worker, set a due date, and add a description. After creation, use edit_task for modifications, or create_subtask to add subtasks. For creating from templates, use create_task_from_template instead.

Fetches complete details about a specific task including name, description, assignees, due date, priority, status, labels, custom fields, and metadata. Use this after finding tasks with get_all_tasks or get_tasklist_tasks to get full information before editing or taking action. Essential for understanding task context.

Updates an existing task with new information. You can modify any combination of name, assignment, due date, or priority. All fields are optional - only provide the fields you want to change. Get task details with get_task_details first to see current values. IMPORTANT: To update task description, use update_task_description instead - this endpoint does not support description updates.

Permanently deletes a task from Freelo. WARNING: This is irreversible! All task data including description, comments, attachments, subtasks, and history will be lost. Consider using finish_task instead to mark tasks as complete while preserving history. Only use when you are absolutely certain the task should be removed.

Marks a task as finished/completed. The task will be moved to finished state, preserving all data and history. Finished tasks can be reactivated later with activate_task if needed. This is the standard way to complete tasks - much safer than delete_task. Essential for task workflow completion.

Reactivates a finished task, moving it back to active state. Use this when a completed task needs to be reopened or when work needs to continue. The task will become visible in active task lists again. Get finished tasks with get_finished_tasks or filter get_all_tasks with state_id=2.

Fetches completed/finished tasks from a specific tasklist. Returns tasks that have been marked as done with finish_task. Useful for reviewing completed work, generating reports, or finding tasks to reactivate. Optionally filter results with fulltext search. For finished tasks across all projects, use get_all_tasks with state_id=2 instead.

Moves a task from its current tasklist to a different tasklist. The target tasklist can be in the same project or a different project. Task data, comments, attachments, and history are preserved. Use this for reorganizing work or transferring tasks between project phases. The task ID remains the same after moving.

Fetches only the description content of a task. More lightweight than get_task_details when you only need the description text. Useful for reading task details without fetching full task metadata. Descriptions can contain plain text or markdown formatting with requirements, acceptance criteria, or notes.

Updates only the description of a task without affecting other task properties. More efficient than edit_task when only changing the description. Supports plain text or markdown. Use this to add context, requirements, acceptance criteria, or technical notes. Previous description is replaced completely.

Creates a reminder notification for a task that will be sent at the specified date/time. Users will receive notifications in Freelo to check the task. Useful for follow-ups, deadlines, or periodic reviews. You can remind specific users or use default assignees. Delete with delete_task_reminder if needed.

Removes an existing reminder from a task. Use this to cancel scheduled reminders that are no longer needed or were set incorrectly. The task itself is not affected - only the reminder is removed. Users will no longer receive the scheduled notification.

Generates or retrieves a public sharing link for a task. Anyone with this link can view the task details without logging into Freelo - useful for sharing with external stakeholders, clients, or contractors. The link remains active until deleted with delete_public_link. Task content is read-only via public links.

Removes the public sharing link for a task. After deletion, the previous link URL will no longer work and task details will no longer be accessible without authentication. Use this when you no longer want to share the task publicly or when project information becomes confidential. The task itself is not deleted.

Creates a new task based on an existing template task. The new task inherits the template's name, description, custom fields, subtasks, and structure. Saves time when creating repetitive tasks with standardized formats. Find templates in template projects using get_template_projects. After creation, you can modify the task with edit_task.

Sets the total estimated time for completing a task in minutes. This is a PREMIUM FEATURE and may require a paid Freelo plan (returns 402 Payment Required on free plans). Estimates help with project planning, resource allocation, and deadline forecasting. Use set_user_time_estimate for per-user estimates instead. Delete with delete_total_time_estimate.

Removes the total time estimate from a task. This is a PREMIUM FEATURE (may return 402 Payment Required on free plans). Use this when estimates are no longer needed or were set incorrectly. The task itself is not affected. Time tracking history is preserved.

Sets a time estimate for a specific user on a task. This is a PREMIUM FEATURE (may return 402 Payment Required on free plans). Useful for collaborative tasks where different team members contribute different amounts of time. Each user can have their own estimate. Use set_total_time_estimate for overall task estimate instead. Delete with delete_user_time_estimate.

Removes a user-specific time estimate from a task. This is a PREMIUM FEATURE (may return 402 Payment Required on free plans). Use this when a user's estimate is no longer needed or was set incorrectly. Other users' estimates and the task itself are not affected.

Fetches all tasklists within a project. Tasklists organize tasks into logical groups or phases (e.g., "To Do", "In Progress", "Done" or "Design", "Development", "Testing"). Essential for understanding project structure before creating or finding tasks. Use this after get_project_details to drill down into project organization.

Creates a new tasklist (task group) within a project. Tasklists help organize tasks into phases, sprints, or categories. Common examples: "Backlog", "Sprint 1", "Design Phase", "Bug Fixes". After creation, use create_task to add tasks. For creating from templates, use create_tasklist_from_template instead.

Fetches detailed information about a specific tasklist including name, description, color, workers, and settings. Use this after get_project_tasklists to understand tasklist configuration before creating tasks or managing workers. Essential for understanding tasklist structure and permissions.

Fetches the list of users who can be assigned to tasks in a specific tasklist. This considers project permissions and tasklist worker restrictions. Use this before creating or assigning tasks to ensure the assignee has access. Returns user details including names, IDs, and availability.

Creates a new tasklist based on an existing template tasklist. The new tasklist inherits the template's structure, tasks, and settings. Much faster than creating tasklists manually when you have standardized workflows. Find template tasklists in template projects using get_template_projects.

Creates a subtask under an existing task. Subtasks help break down complex tasks into smaller, manageable pieces. Each subtask can have its own assignment, description, and due date. Useful for detailed task decomposition and better progress tracking. Use get_subtasks to list existing subtasks.

Fetches all subtasks belonging to a parent task. Returns a list of subtasks with their names, statuses, assignments, and due dates. Essential for understanding task breakdown and progress on complex tasks. Use this before marking tasks complete to ensure all subtasks are done.

Creates a new comment on a task. Comments are visible to all project members and support file attachments. Use this for discussions, feedback, or updates. For editing existing comments, use edit_comment. Get task IDs from get_all_tasks or get_tasklist_tasks.

Edits an existing comment on a task. Only the comment author or project admin can edit comments. You can update the text content and modify attached files. Use get_all_comments to retrieve comment IDs. For creating new comments, use create_comment instead.

Fetches all comments across projects with filtering and sorting options. Comments include discussions on tasks, documents, files, and links. Essential for tracking communication, finding specific conversations, or generating activity reports. Supports filtering by project, comment type, and pagination.

Fetches all files and documents across projects with filtering options. Returns files, directories, links, and documents attached to tasks or uploaded to projects. Supports pagination for large file sets. Use this to find attachments, browse project files, or locate specific documents before downloading with download_file.

Uploads a file to Freelo. The file can then be attached to tasks, comments, or stored in project files. Supports any file type. Files are encoded as base64 for transfer. After upload, use the returned file UUID with download_file or to attach to tasks. Maximum file size depends on Freelo plan.

Downloads a file from Freelo by its UUID. Returns the file content which can be saved locally or processed. Use this after finding files with get_all_files to retrieve the actual file data. The UUID is returned when uploading files or found in file listings.

Fetches all users in the Freelo workspace. Returns complete user list with names, emails, IDs, roles, and availability. Essential for getting user IDs before assigning tasks, inviting to projects, or managing permissions. Use this as the first step when working with team members.

Removes team members from a project. Provide either userIds (array of user ID strings) or emails (array of email strings) - at least one is required. Workers will immediately lose access to the project and its tasks. Get user IDs from get_project_workers or get_users.

Fetches the list of workers (team members) assigned to a specific project. Returns user details including names, emails, roles, and permissions. Essential for understanding team composition before assigning tasks or managing project access.

Invites users to a project. Provide either userIds (array of existing user ID strings) or emails (array of email strings) - at least one is required. When using emails, users without Freelo accounts will receive invitation emails. Get user IDs from get_users.

Fetches out-of-office (vacation/absence) information for a user. Returns dates and reason if set. Useful for checking team member availability before assigning tasks or scheduling work.

Sets out-of-office (vacation/absence) period for a user. Other team members will see when the user is unavailable. Delete with delete_out_of_office to cancel.

Removes out-of-office status for a user. The user will appear as available immediately.

Fetches projects where the current authenticated user is assigned as the project manager (PM). This differs from get_projects which returns projects you own - you can be PM on projects owned by others.

Starts real-time time tracking for a task or general work. Creates an active timer that runs until stopped with stop_time_tracking. Use this for live time tracking during work - when stopped, it automatically creates a work report. For manual time entry after work is done, use create_work_report instead.

Stops the currently active time tracking session. Calculates elapsed time since start_time_tracking was called and automatically creates a work report with the tracked time. Use this when finishing work on a task. If no timer is running, this will return an error.

Edits the currently active time tracking session. Use this to change which task is being tracked or add/update the description while the timer is still running. Useful when you realize you started tracking the wrong task or want to add notes. Only works with an active timer.

Fetches work reports with powerful filtering options. Work reports track time spent on tasks - essential for billing, productivity analysis, and project reporting. Supports filtering by projects, users, task labels, and date ranges. Use this for generating timesheets, analyzing team productivity, or preparing client invoices.

Creates a new work report (time entry) for a specific task. Work reports track time spent on tasks for billing, productivity analysis, and project reporting. Use this after completing work on a task or at end of day for timesheet entry. For real-time tracking, use start_time_tracking instead.

Updates an existing work report. Use this to correct time entries, update descriptions, or change the date of logged work. Useful for fixing mistakes in timesheets or adding details to previously logged work. Get work report IDs from get_work_reports.

Permanently deletes a work report (time entry). WARNING: This action is irreversible! Use this to remove incorrect time entries or duplicate reports. Consider using update_work_report to fix mistakes instead of deleting. Get work report IDs from get_work_reports.

Fetches all available custom field types in Freelo. Custom fields allow you to extend tasks with additional metadata like priority levels, client names, budget amounts, or any project-specific data. PREMIUM FEATURE: Requires paid Freelo plan. Use this before create_custom_field to see available field types (text, number, date, select, etc.).

Creates a new custom field for a project. Custom fields extend tasks with project-specific metadata (e.g., "Client Name", "Priority Level", "Budget"). PREMIUM FEATURE: Requires paid Freelo plan. After creation, use add_or_edit_field_value to set values on tasks. Get field types from get_custom_field_types first.

Renames an existing custom field. Use this to update the display name of a custom field across the entire project. All existing values are preserved, only the field label changes. PREMIUM FEATURE: Requires paid Freelo plan. Get custom field UUIDs from get_custom_fields_by_project.

Deletes a custom field from a project. The field will be removed from all tasks and hidden from views. This is reversible - use restore_custom_field to un-delete. PREMIUM FEATURE: Requires paid Freelo plan. Get custom field UUIDs from get_custom_fields_by_project. Consider renaming instead if you might need it later.

Restores a previously deleted custom field. The field will become visible again with all its values preserved. Use this to un-delete custom fields that were removed with delete_custom_field. PREMIUM FEATURE: Requires paid Freelo plan. Get deleted field UUIDs from get_custom_fields_by_project.

Sets or updates a custom field value on a task. Use this to add metadata like client names, budgets, or priorities to tasks. For enum/select fields, use add_or_edit_enum_value instead. PREMIUM FEATURE: Requires paid Freelo plan. Works with text, number, date, and other non-enum field types.

Sets or updates an enum/select custom field value on a task. Use this for dropdown/select custom fields (e.g., "Priority: High/Medium/Low", "Status: Approved/Pending/Rejected"). For other field types, use add_or_edit_field_value instead. PREMIUM FEATURE: Requires paid Freelo plan. Get enum options from get_enum_options.

Deletes a custom field value from a task. Use this to clear/remove custom field data from a task. The custom field definition remains, only this specific task's value is removed. PREMIUM FEATURE: Requires paid Freelo plan. Get value UUIDs from task details or get_custom_fields_by_project response.

Fetches all custom fields defined in a specific project, including their UUIDs, types, and configurations. Essential for understanding which custom fields are available before setting values on tasks. PREMIUM FEATURE: Requires paid Freelo plan. Returns both active and deleted fields.

Fetches all available options for an enum/select custom field. Use this to see what values can be selected before using add_or_edit_enum_value. Returns option UUIDs, names, and colors. PREMIUM FEATURE: Requires paid Freelo plan. Only works with enum/select type fields.

Renames an existing enum/select custom field option. Use this to update option labels without changing which tasks have it selected. PREMIUM FEATURE: Requires paid Freelo plan. Get option UUIDs from get_enum_options.

Deletes an enum/select custom field option. Fails if the option is currently in use on any task. Use force_delete_enum_option to delete even if in use. PREMIUM FEATURE: Requires paid Freelo plan. Get option UUIDs from get_enum_options.

Force-deletes an enum/select custom field option even if it is currently in use on tasks. Tasks with this option will have the value cleared. PREMIUM FEATURE: Requires paid Freelo plan. Use regular delete_enum_option first if unsure.

Creates a new option for an enum/select custom field. Use this to add new values to dropdown fields (e.g., add "Critical" to a "Priority" field). After creation, use add_or_edit_enum_value to assign this option to tasks. PREMIUM FEATURE: Requires paid Freelo plan. Only works with enum/select type fields.

Fetches issued invoices with filtering options. Use this to retrieve client invoices for accounting, billing reports, or financial analysis. Supports filtering by project and date range. Essential for tracking billable work and generating financial reports.

Fetches detailed information about a specific invoice, including line items, work reports, amounts, and status. Use this to review invoice details before sending to clients or for detailed accounting records. Get invoice IDs from get_issued_invoices.

Downloads work reports and time tracking data associated with an invoice. Use this to get detailed breakdown of billable work for client transparency or internal auditing. Returns work report data that was included in the invoice calculation.

Fetches work reports associated with an invoice as structured JSON data (unlike download_invoice_reports which returns CSV). Returns detailed work report entries with project, tasklist, and user information. Ideal for programmatic processing of invoice data.

Marks an invoice as invoiced (sent to client). Use this to track invoice status and indicate that the invoice has been delivered to the client. Important for invoice lifecycle management and accounting workflows. Get invoice IDs from get_issued_invoices.

Fetches all notifications for the current user. Notifications include mentions, task assignments, comments, and other activity updates. Supports pagination for large notification lists. Use this to build notification feeds or check for unread updates.

Marks a specific notification as read. Use this to track which notifications have been seen and reduce unread notification counts. Essential for notification management workflows. Get notification IDs from get_all_notifications.

Marks a specific notification as unread. Use this to flag notifications that require follow-up action or to restore notifications that were accidentally marked as read. Get notification IDs from get_all_notifications.

Creates a new note in a project. Notes are standalone documents for project documentation, meeting minutes, specifications, or any reference material. Unlike task comments, notes are top-level project items. Use this for knowledge base, documentation, or project wikis.

Fetches a specific note by ID, including its title, content, and metadata. Use this to read project documentation, meeting minutes, or reference materials. Get note IDs from project details or search results.

Updates an existing note's title or content. Use this to maintain documentation, update meeting minutes, or revise project specifications. All fields are optional - only provide what needs to change. Get note IDs from get_note or project details.

Permanently deletes a note from a project. WARNING: This action is irreversible! All note content will be permanently lost. Consider updating the note to archive it instead. Use this only when you are certain the note should be removed.

Fetches activity events (audit log) with powerful filtering options. Events track all changes in Freelo: task updates, comments, status changes, assignments, file uploads, etc. Essential for activity tracking, auditing, generating reports, or building activity feeds. Supports filtering by projects, users, event types, tasks, and date ranges with pagination.

Fetches all custom filters (saved task views) created by the user. Custom filters are saved search configurations that combine multiple criteria for quick access to specific task sets. Use this to get filter UUIDs before using get_tasks_by_filter_uuid or get_tasks_by_filter_name.

Fetches tasks using a custom filter UUID. Custom filters are pre-configured task searches with multiple criteria. Use this to quickly retrieve task sets matching saved filter configurations. Get filter UUIDs from get_custom_filters.

Fetches tasks using a custom filter name. Alternative to get_tasks_by_filter_uuid when you know the filter name but not the UUID. Custom filters are pre-configured task searches. Get filter names from get_custom_filters.

Fetches all available task labels (tags) in Freelo, optionally filtered by project. Labels are used to categorize and filter tasks (e.g., "urgent", "bug", "feature", "design"). Essential before using get_all_tasks with label filters or when applying labels to tasks. Returns label names, colors, and usage counts.

Adds one or more labels to a task. Labels are used for categorizing and filtering tasks (e.g., "bug", "urgent", "feature"). Multiple labels can be added at once. Use find_available_labels to discover available label UUIDs. For removing labels, use remove_labels_from_task.

Removes one or more labels from a task. This is useful for cleaning up task categorization or removing outdated labels. Multiple labels can be removed at once. Only labels currently attached to the task can be removed. For adding labels, use add_labels_to_task.

Edits an existing project label (name, color, or visibility). Use this to update label properties without removing it from tasks. Get label IDs from find_available_labels.

Deletes a project label permanently. The label will be removed from all tasks that have it. This action cannot be undone. Get label IDs from find_available_labels.

Adds an existing label to a project, making it available for tasks in that project. Use this to share labels across projects or associate a label with a specific project.

Removes a label from a project. The label will no longer be available for tasks in this project but still exists globally. Use find_available_labels to get label details.

Creates a new task label (tag) for categorizing tasks. Labels help organize and filter tasks across projects (e.g., "urgent", "bug", "feature", "design"). After creation, labels can be applied to tasks via edit_task or filtered with get_all_tasks. Use find_available_labels to see existing labels first.

Fetches all pinned items in a project. Pinned items are shortcuts to important tasks, notes, or files displayed prominently for quick access. Use this to see what team members have pinned as important or frequently accessed. Essential for understanding project priorities.

Pins a task, note, or file to the top of a project for quick access. Pinned items appear prominently for all project members. Use this to highlight important tasks, reference documentation, or frequently needed files. Useful for team coordination and prioritization.

Removes a pinned item from a project. Use this to unpin tasks, notes, or files that are no longer priority or frequently accessed. Does not delete the underlying item (task/note/file), only removes the pin. Get pinned item IDs from get_pinned_items.

Fetches all available task states in Freelo. States represent task lifecycle status (e.g., 1=active/open, 2=finished/completed, 3=archived). Essential for understanding state IDs before using get_all_tasks with state_id filter or when analyzing task workflows. Returns state IDs, names, and descriptions.

Performs powerful full-text search across Freelo using Elasticsearch. Searches through tasks, subtasks, projects, tasklists, files, and comments with advanced filtering options. Essential for finding content when you don't know the exact location. Supports filtering by projects, tasklists, authors, workers, states, entity types, and pagination. Much more powerful than get_all_tasks search_query for cross-entity searches.

Overview

What is FreeloMCP?

FreeloMCP is an unofficial community-built Model Context Protocol (MCP) server that provides 104 tools covering 100% of the Freelo API v1. It enables AI assistants (like Claude Desktop, Claude Code, Cline, and others) to interact with Freelo, a Czech project management and task-tracking service.

How to use FreeloMCP?

Install and run via npx (recommended) or clone the repository. Configure your MCP client (e.g., Claude Desktop) by adding a mcpServers entry with the command npx -y freelo-mcp and environment variables FREELO_EMAIL, FREELO_API_KEY, and FREELO_USER_AGENT. Restart the client and verify by asking to list your Freelo projects.

Key features of FreeloMCP

  • 104 MCP tools covering 100% of Freelo API v1
  • Fully tested: 207 unit tests + 82 real API tests
  • Smart filtering with pagination and advanced filters
  • HTTP Basic Authentication with API key
  • Token limit fixes for large datasets
  • MCP Annotations with automatic behavioral hints
  • Modular architecture organized in 19 modules
  • Supports Stdio, Streamable HTTP, and SSE transports

Use cases of FreeloMCP

  • Manage tasks, subtasks, and task lists from an AI chat
  • Create, update, and archive projects using natural language
  • Track time, upload files, and manage comments on tasks
  • Search across projects with full-text Elasticsearch
  • Automate invoice generation and work report management

FAQ from FreeloMCP

Is FreeloMCP an official Freelo product?

No, this is an unofficial community project and is not directly supported by Freelo.

What runtime or dependencies are required?

Node.js is required. The server is published as an npm package and can be run via npx without local installation.

How does authentication work?

Authentication uses HTTP Basic Authentication with a Freelo API key. You must provide FREELO_EMAIL and FREELO_API_KEY as environment variables.

Where does my data live?

All data remains on Freelo’s servers. FreeloMCP only communicates with the Freelo API and does not store any data locally.

What transport protocols are supported?

Three transports are supported: Stdio (default for CLI tools), Streamable HTTP (recommended for HTTP clients), and SSE (deprecated). Use environment variables to configure the desired transport.

Frequently asked questions

Is FreeloMCP an official Freelo product?

No, this is an unofficial community project and is not directly supported by Freelo.

What runtime or dependencies are required?

Node.js is required. The server is published as an npm package and can be run via npx without local installation.

How does authentication work?

Authentication uses HTTP Basic Authentication with a Freelo API key. You must provide `FREELO_EMAIL` and `FREELO_API_KEY` as environment variables.

Where does my data live?

All data remains on Freelo’s servers. FreeloMCP only communicates with the Freelo API and does not store any data locally.

What transport protocols are supported?

Three transports are supported: Stdio (default for CLI tools), Streamable HTTP (recommended for HTTP clients), and SSE (deprecated). Use environment variables to configure the desired transport.

Comments

More Other MCP servers