
FreeloMCP
Freelo MCP Server poskytuje rozhraní pro komunikaci s Freelo API pomocí Model Context Protocol (MCP). Umožňuje integraci Freelo do AI asistentů jako je Cline, Claude a další, kteří podporují MCP protokol.
What is FreeloMCP?
FreeloMCP is an unofficial server that provides an interface for communication with the Freelo API using the Model Context Protocol (MCP). It allows integration of Freelo into AI assistants like Cline, Claude, and others that support the MCP protocol.
How to use FreeloMCP?
To use FreeloMCP, clone the repository from GitHub, install the dependencies, and configure the environment variables for authentication with the Freelo API. You can run the REST API server or the MCP server based on your needs.
Key features of FreeloMCP?
- REST API server for traditional communication with Freelo API.
- MCP server for integration with AI assistants.
- Supports various MCP tools for project and task management.
Use cases of FreeloMCP?
- Integrating Freelo project management features into AI assistants.
- Automating task management through AI interactions.
- Enhancing project workflows with AI-driven insights.
FAQ from FreeloMCP?
- Is FreeloMCP an official project?
No, FreeloMCP is an unofficial community project and is not directly supported by Freelo.
- How do I authenticate with the Freelo API?
Authentication is done using environment variables for the Freelo email and API key.
- Can I contribute to the project?
Yes! You can create pull requests or open issues on GitHub to contribute.
Freelo MCP Server (Neoficiální)
Upozornění: Toto je neoficiální komunitní projekt a není přímo podporován společností Freelo.
MCP Server pro Freelo API v1 - implementace proxy serveru pro komunikaci s Freelo API pomocí Model Context Protocol (MCP). Freelo je česká služba pro projektové řízení a správu úkolů.
O projektu
Freelo MCP Server poskytuje rozhraní pro komunikaci s Freelo API pomocí Model Context Protocol (MCP). Umožňuje integraci Freelo do AI asistentů jako je Cline, Claude a další, kteří podporují MCP protokol.
Projekt obsahuje dvě hlavní komponenty:
- REST API Server - Tradiční REST API pro komunikaci s Freelo API
- MCP Server - Server implementující Model Context Protocol pro použití s AI asistenty
Instalace
Lokální instalace
# Klonování repozitáře
git clone https://github.com/karlost/FreeloMCP.git
cd FreeloMCP
# Instalace závislostí
npm install
Instalace jako npm balíček
# Globální instalace
npm install -g freelo-mcp
# Nebo použití bez instalace
npx freelo-mcp
Konfigurace
Před použitím je potřeba nastavit proměnné prostředí pro autentizaci s Freelo API. Existují dvě možnosti konfigurace:
.env
1. Pomocí souboru Vytvořte soubor .env
v kořenovém adresáři projektu s následujícím obsahem:
# Volitelné nastavení serveru
PORT=3000
NODE_ENV=development
# Povinné autentizační údaje pro Freelo API
FREELO_EMAIL=vas@email.cz
FREELO_API_KEY=VAS_API_KLIC
FREELO_USER_AGENT=freelo-mcp
2. Přímo pomocí proměnných prostředí
Můžete také nastavit proměnné prostředí přímo při spuštění:
FREELO_EMAIL=vas@email.cz FREELO_API_KEY=VAS_API_KLIC FREELO_USER_AGENT=freelo-mcp node mcp-server.js
Požadavky na systém
- Node.js verze 18.0.0 nebo vyšší
Spuštění
REST API Server
# Vývojové prostředí
npm run dev
# Produkční prostředí
npm start
MCP Server
# Vývojové prostředí
npm run mcp:dev
# Produkční prostředí
npm run mcp
# Pomocí npx (po instalaci balíčku)
freelo-mcp
# Pomocí npx (bez instalace)
npx freelo-mcp
# Lokální spuštění
node bin/freelo-mcp.js
Integrace s Cline
Pro integraci s Cline (AI asistent podporující MCP) vytvořte soubor cline_mcp_settings.json
ve vašem domovském adresáři s následujícím obsahem:
{
"mcpServers": {
"freelo-mcp": {
"command": "node",
"args": ["bin/freelo-mcp.js"],
"env": {
"NODE_ENV": "production",
"FREELO_EMAIL": "vas@email.cz",
"FREELO_API_KEY": "VAS_API_KLIC",
"FREELO_USER_AGENT": "freelo-mcp"
},
"disabled": false,
"autoApprove": []
}
}
}
Ujistěte se, že:
- Cesta k souboru
bin/freelo-mcp.js
je správná (může se lišit podle způsobu instalace) - Autentizační údaje (
FREELO_EMAIL
,FREELO_API_KEY
) jsou správné - Po nastavení restartujte Cline, aby se změny projevily
Testování
Projekt obsahuje automatizované testy pro ověření funkčnosti MCP nástrojů. Testy používají mockování API pomocí knihovny nock
a nepotřebují reálné přihlašovací údaje.
Spuštění všech testů
npm test
Spuštění konkrétního testu
npm test -- tests/mcp-tools-simple.test.js
Spuštění testů s pokrytím kódu
npm test -- --coverage
Autentizace
REST API
Autentizace probíhá pomocí HTTP Basic Authentication. Jako uživatelské jméno se používá email pro přihlášení do Freelo a jako heslo API klíč.
Každý požadavek musí obsahovat hlavičku User-Agent.
Autentizace v MCP
Při použití MCP serveru je autentizace prováděna výhradně pomocí proměnných prostředí:
- Nastavte proměnné prostředí
FREELO_EMAIL
,FREELO_API_KEY
aFREELO_USER_AGENT
v souboru.env
nebo vcline_mcp_settings.json
- Všechny MCP nástroje automaticky použijí tyto hodnoty pro autentizaci s Freelo API
- Není potřeba předávat autentizační údaje v každém požadavku
Dostupné MCP nástroje
Následující tabulka zobrazuje stav implementace jednotlivých MCP nástrojů na základě posledního testování:
Kategorie | Nástroj | Popis | Stav | Poznámka |
---|---|---|---|---|
Projekty | get_projects | Získání vlastních projektů | ✅ | |
get_all_projects | Získání všech projektů | ✅ | ||
create_project | Vytvoření nového projektu | ✅ | ||
get_project_details | Získání detailu projektu | ✅ | ||
archive_project | Archivace projektu | ✅ | ||
activate_project | Aktivace projektu | ✅ | ||
delete_project | Smazání projektu | ✅ | ||
Úkoly | get_all_tasks | Získání všech úkolů (globálně, s filtry) | ⚠️ | Vrací úkoly ze všech projektů i při použití filtru projectId . |
create_task | Vytvoření nového úkolu v tasklistu | ✅ | ||
get_task_details | Získání detailu konkrétního úkolu | ✅ | ||
edit_task | Úprava existujícího úkolu | ✅ | ||
delete_task | Smazání úkolu | ✅ | ||
finish_task | Dokončení úkolu | ✅ | ||
activate_task | Aktivace úkolu | ✅ | ||
Tasklisty | get_project_tasklists | Získání taskistů pro projekt | ✅ | |
create_tasklist | Vytvoření nového tasklistu v projektu | ✅ | ||
get_tasklist_tasks | Získání úkolů v tasklistu | ✅ | ||
Uživatelé | get_users | Získání seznamu všech uživatelů | ✅ | |
remove_workers | Odstranění pracovníků z projektu | ❌ | Selhává s chybou 404. | |
Soubory | get_all_files | Získání seznamu všech souborů a dokumentů | ✅ | |
upload_file | Nahrání souboru | ❌ | Selhává s chybou TypeError (očekává Blob místo Base64). | |
download_file | Stažení souboru | ❓ | Netestováno (závisí na upload_file ). | |
Podúkoly | create_subtask | Vytvoření nového podúkolu k úkolu | ⚠️ | Vrací nesprávné task_id v odpovědi. |
get_subtasks | Získání seznamu podúkolů úkolu | ⚠️ | Vrací podúkoly z celého projektu místo filtrování dle taskId . | |
Komentáře | create_comment | Přidání komentáře k úkolu | ✅ | |
edit_comment | Úprava komentáře | ✅ | ||
Štítky | add_labels_to_task | Přidání štítků k úkolu | ✅ | |
remove_labels_from_task | Odstranění štítků z úkolu | ✅ |
Legenda:
- ✅: Funkční
- ⚠️: Funkční s problémy/neočekávaným chováním
- ❌: Nefunkční
- ❓: Netestováno
Příspěvky a další vývoj
Pokud chcete přispět k vývoji tohoto projektu, můžete vytvořit pull request nebo otevřít issue na GitHubu.
Návrhy na další vývoj:
- Implementace dalších MCP nástrojů pro pokrytí všech funkcí Freelo API
- Vylepšení dokumentace a příkladů použití
- Přidání podpory pro další funkce Freelo API (notifikace, štítky, atd.)
Licence
Tento projekt je licencován pod licencí MIT.
Autor
Chodeec (karlost)