Project COR MCP sunucusu
Commit 2 Kas 2026Bir yapay zeka istemcisinin Project COR REST API aracılığıyla projeleri, görevleri, müşterileri, sözleşmeleri ve zaman takibini yönetmesini sağlar.
Ayrıca bilinen adı fxckcode/mcp-cor
- Yıldızlar
- 0
- Araçlar
- 61
- İndirmeler, 30 gün
- —
- En son sürüm
- —
- Son commit
- 2 Kas 2026
- Lisans
- MIT
Project COR MCP nedir?
Project COR bir MCP sunucusudur. Bir yapay zeka istemcisinin Project COR REST API aracılığıyla projeleri, görevleri, müşterileri, sözleşmeleri ve zaman takibini yönetmesini sağlar. 61 araç sunar; örneğin cor_list_projects, cor_get_project, cor_create_project.
Özet, projenin README dosyasından oluşturuldu
Project COR MCP sunucusu hakkında
Project COR platformuna bağlanan bu sunucu ile yaratıcı ve profesyonel iş akışlarını bir yapay zeka asistanı üzerinden yönetmek mümkündür. Sunucu; projeler, görevler, müşteriler, sözleşmeler ve zaman takibi dahil olmak üzere 11 farklı modül üzerinde bir yapay zeka istemcisinin tam CRUD işlemleri gerçekleştirmesine olanak tanıyan 61 araç sunar. Bu sayede kullanıcılar, proje karlılığından maliyet tahminlerine, çalışma saatlerini kaydetmekten ekip atamalarını yönetmeye kadar her şeyi halledebilirler.
Geliştiriciler bunu Claude Desktop, Cursor, Windsurf, Cline veya Hermes Agent gibi herhangi bir MCP uyumlu istemci ile kullanabilirler. Sunucu iki kimlik doğrulama yöntemini destekler: e-posta ve şifre kullanarak kişisel kullanıcı bilgileri veya bir API key ve client secret aracılığıyla sunucudan sunucuya erişim. Bloklamayan performans için asenkron I/O ile oluşturulmuştur; yerel ajanlar için stdio transport ve uzaktan erişim için SSE transport seçeneklerini sunar. Dağıtım süreci, Docker desteği ve uv paket yöneticisi ile basitleştirilmiştir.
Neler yapabilirsiniz
- 1Proje karlılığını takip edinBelirli bir proje için finansal ayrıntıları ve karlılık metriklerini getirmesi için yapay zekanıza komut verin.
- 2Ekip zaman kayıtlarını yönetinYapay zekaya belirli bir görev için saat kaydetmesi veya mevcut zaman girişleri içinde arama yapması talimatını verin.
- 3Görev iş akışlarını organize edinYapay zekanın bekleyen görevleri aramasını veya bir görevin durumunu ve iş birliği yapan kişileri güncellemesini sağlayın.
- 4Müşteri ve sözleşme verilerini yönetinYeni müşteriler oluşturmak veya sözleşme pozisyonlarını ve ayrıntılarını yönetmek için yapay zekayı kullanın.
Projenin README dosyasından alınmıştır. Her kullanım durumu, oradaki bir alıntı ile kontrol edilir.
Project COR MCP araçları 61
README dosyasından algılandıcor_list_projectscor_get_projectcor_create_projectcor_update_projectcor_delete_projectcor_get_project_collaboratorscor_add_project_collaboratorcor_remove_project_collaboratorcor_get_project_costscor_add_project_costcor_get_project_labelscor_get_project_ratecard
| cor_list_projects | — | |
| cor_get_project | — | |
| cor_create_project | — | |
| cor_update_project | — | |
| cor_delete_project | — | |
| cor_get_project_collaborators | — | |
| cor_add_project_collaborator | — | |
| cor_remove_project_collaborator | — | |
| cor_get_project_costs | — | |
| cor_add_project_cost | — | |
| cor_get_project_labels | — | |
| cor_get_project_ratecard | — |
61 aracın tümünü gösterDaha az araç göster
cor_get_project_templatescor_get_project_profitabilitycor_search_taskscor_get_my_pending_taskscor_get_taskcor_create_taskcor_update_taskcor_delete_taskcor_get_task_collaboratorscor_sync_task_collaboratorscor_add_task_labelcor_remove_task_labelcor_get_my_profilecor_list_userscor_get_usercor_list_teamscor_create_teamcor_add_team_userscor_remove_team_userscor_get_working_timecor_list_clientscor_get_clientcor_create_clientcor_update_clientcor_delete_clientcor_get_client_feescor_list_contractscor_get_contractcor_create_contractcor_get_contract_positionscor_create_contract_positioncor_log_hourscor_search_time_entriescor_get_hours_by_datecor_change_hours_statuscor_accept_suggested_hourscor_get_task_messagescor_post_task_messagecor_get_project_messagescor_post_project_messagecor_list_ratecardscor_get_ratecardcor_create_ratecardcor_get_allocations_by_projectcor_save_allocationcor_delete_allocationcor_list_productscor_create_productcor_get_labels
| cor_get_project_templates | — | |
| cor_get_project_profitability | — | |
| cor_search_tasks | — | |
| cor_get_my_pending_tasks | — | |
| cor_get_task | — | |
| cor_create_task | — | |
| cor_update_task | — | |
| cor_delete_task | — | |
| cor_get_task_collaborators | — | |
| cor_sync_task_collaborators | — | |
| cor_add_task_label | — | |
| cor_remove_task_label | — | |
| cor_get_my_profile | — | |
| cor_list_users | — | |
| cor_get_user | — | |
| cor_list_teams | — | |
| cor_create_team | — | |
| cor_add_team_users | — | |
| cor_remove_team_users | — | |
| cor_get_working_time | — | |
| cor_list_clients | — | |
| cor_get_client | — | |
| cor_create_client | — | |
| cor_update_client | — | |
| cor_delete_client | — | |
| cor_get_client_fees | — | |
| cor_list_contracts | — | |
| cor_get_contract | — | |
| cor_create_contract | — | |
| cor_get_contract_positions | — | |
| cor_create_contract_position | — | |
| cor_log_hours | — | |
| cor_search_time_entries | — | |
| cor_get_hours_by_date | — | |
| cor_change_hours_status | — | |
| cor_accept_suggested_hours | — | |
| cor_get_task_messages | — | |
| cor_post_task_message | — | |
| cor_get_project_messages | — | |
| cor_post_project_message | — | |
| cor_list_ratecards | — | |
| cor_get_ratecard | — | |
| cor_create_ratecard | — | |
| cor_get_allocations_by_project | — | |
| cor_save_allocation | — | |
| cor_delete_allocation | — | |
| cor_list_products | — | |
| cor_create_product | — | |
| cor_get_labels | — |
Yapılandırma
COR_API_KEYCOR_API_URLCOR_CLIENT_SECRETCOR_EMAILCOR_PASSWORD
| Ad | Açıklama | Sunucu |
|---|---|---|
| COR_API_KEY | — | |
| COR_API_URL | — | |
| COR_CLIENT_SECRET | — | |
| COR_EMAIL | — | |
| COR_PASSWORD | — |
Otomatik kontroller
Çalıştırıldı 14 Kas 2026Tam rapor →Henüz doğrulanmadı. Bir sunucunun 80 puana, ciddi bir bulgu olmamasına ve kontrol edebilmemiz için yeterli veriye ihtiyacı vardır. Kontroller nasıl çalışır · Daha fazla puan için nelerin düzeltileceği
- Kaynak deposu bağlantılı ve erişilebilirfxckcode/mcp-cor is public and reachablegithub.com/fxckcode/mcp-cor ↗Geçti
- Paket, bu depoyu kaynağı olarak gösteriyorKontrol edilmedi
- Derleme kökeni (Sigstore onayı)Kontrol edilmedi
- Açık kaynak lisansı (OSI)MITspdx.org/licenses/MIT.html ↗Geçti
- Son bir yıl içinde commit veya sürüm mevcutLast commit or release 2026-11-02github.com/fxckcode/mcp-cor ↗Geçti
- OpenSSF ScorecardKontrol edilmedi
- Paket adı popüler bir pakete yakın değilKontrol edilmedi
- Pakette veya bağımlılıklarında kritik uyarı yokKontrol edilmedi
- Modele yönelik gizli talimat yok61 tool descriptions and the README read; no override phrases, credential paths or hidden charactersGeçti
- Yıkıcı araçlar etiketlenmişNo tool named like delete, drop or execGeçti
- Uzak uç nokta MCP el sıkışmasına yanıt veriyorKontrol edilmedi
⬡ COR MCP Server
61 MCP tools for Project COR — the project management platform for creative and professional teams.
Exposes the complete COR REST API surface as MCP tools — usable from any MCP-compatible client: Hermes Agent, Claude Desktop, Cursor, Claude Code, Cline, Windsurf, and more.
✨ Features
- 61 MCP tools — full CRUD for all COR entities across 11 modules
- Dual authentication — pick what suits you:
- User Credentials (email + password) — quick personal use
- Client Credentials (API key + client secret) — server-to-server
- Async everywhere —
httpx+asyncio, non-blocking I/O - Dual transport —
stdio(default for agents) andsse(HTTP for remote access) - OAuth token auto-refresh — never worry about expiry mid-session
- Docker support — one-command deployment
- Hermes Agent skill included — see
skills/cor-mcp-setup/ - 24 passing tests — fully mocked, no live credentials required
Entity Coverage
| Module | Tools | Covers |
|---|---|---|
| Projects | 14 | CRUD, collaborators, costs, labels, ratecards, templates, profitability |
| Tasks | 10 | Search, CRUD, collaborators, labels |
| Team & Users | 8 | Profile, users, teams, working time |
| Clients | 6 | CRUD, fees |
| Contracts | 5 | CRUD, positions |
| Time Tracking | 5 | Log, search, status, accept suggested |
| Messaging | 4 | Project + task messages |
| Allocations | 3 | CRUD |
| Ratecards | 3 | CRUD |
| Products | 2 | CRUD |
| Labels | 1 | By entity type |
🚀 Quick Start
Prerequisites
- Python 3.11+
- uv (recommended) or pip
- COR account with credentials
Install & Run
# Clone
git clone https://github.com/fxckcode/mcp-cor.git
cd mcp-cor
# Install with uv (recommended)
uv sync
# Or with pip
pip install -e .
Configure
cp .env.example .env
Then choose one auth mode in .env:
Mode A — Email + Password (recommended for personal use)
COR_EMAIL=your.email@company.com
COR_PASSWORD=your_password
COR_API_URL=https://api.projectcor.com/v1
Mode B — API Key + Client Secret (for server-to-server)
COR_API_KEY=your_api_key
COR_CLIENT_SECRET=your_client_secret
COR_API_URL=https://api.projectcor.com/v1
The server auto-detects which mode you configured. Email/password takes priority when both are set.
Run
# stdio transport (default — for MCP agents)
uv run cor-mcp-server
# SSE/HTTP transport (for remote access)
uv run cor-mcp-server --transport sse --host 0.0.0.0 --port 8000
# Verbose logging
uv run cor-mcp-server --verbose
🔐 Authentication
Two modes supported. The server auto-detects which to use.
User Credentials (Mode A)
POST https://api.projectcor.com/v1/auth/login
Content-Type: application/x-www-form-urlencoded
email=user@corp.com&password=*****
Returns JWT access_token + refresh_token. Auto-refresh built in.
Client Credentials (Mode B)
POST https://api.projectcor.com/v1/oauth/token?grant_type=client_credentials
Authorization: Basic base64(api_key:client_secret)
Returns access_token (1-hour TTL). Cached and auto-refreshed with a 60-second safety margin.
🔌 Connecting from MCP Clients
Add to ~/.hermes/config.yaml:
mcp_servers:
cor:
command: "uv"
args: ["run", "--directory", "/path/to/cor-mcp-server", "python", "-m", "cor_mcp_server"]
env:
COR_EMAIL: "your.email@company.com"
COR_PASSWORD: "your_password"
COR_API_URL: "https://api.projectcor.com/v1"
timeout: 180
connect_timeout: 60
Then restart or run /reload-mcp.
Add to claude_desktop_config.json:
{
"mcpServers": {
"cor": {
"command": "uv",
"args": ["run", "--directory", "/path/to/cor-mcp-server", "python", "-m", "cor_mcp_server"],
"env": {
"COR_EMAIL": "your.email@company.com",
"COR_PASSWORD": "your_password",
"COR_API_URL": "https://api.projectcor.com/v1"
}
}
}
}
In MCP Servers settings, add:
- Name: COR
- Type: command
- Command:
uv run --directory /path/to/cor-mcp-server python -m cor_mcp_server - Environment variables:
COR_EMAIL,COR_PASSWORD,COR_API_URL
env COR_EMAIL=your@email.com COR_PASSWORD=your_pass COR_API_URL=https://api.projectcor.com/v1 \
npx @anthropic/claude-code --mcp "uv run --directory /path/to/cor-mcp-server python -m cor_mcp_server"
Docker
docker build -t cor-mcp-server .
# stdio mode
docker run -i --rm \
-e COR_EMAIL=your@email.com \
-e COR_PASSWORD=your_password \
-e COR_API_URL=https://api.projectcor.com/v1 \
cor-mcp-server
# SSE mode
docker run -i --rm \
-p 8000:8000 \
-e COR_EMAIL=your@email.com \
-e COR_PASSWORD=your_password \
-e COR_API_URL=https://api.projectcor.com/v1 \
cor-mcp-server --transport sse
🛠 Available Tools
All tool names are prefixed with cor_ for clean discoverability.
Projects (14 tools)
| Tool | Description |
|---|---|
cor_list_projects |
List projects with filters (clientId, status, health, dates) |
cor_get_project |
Get project details |
cor_create_project |
Create a new project |
cor_update_project |
Update a project (partial) |
cor_delete_project |
Delete a project |
cor_get_project_collaborators |
Get project collaborators |
cor_add_project_collaborator |
Add collaborator to project |
cor_remove_project_collaborator |
Remove collaborator from project |
cor_get_project_costs |
Get project costs/estimates |
cor_add_project_cost |
Add cost to project |
cor_get_project_labels |
Get project labels |
cor_get_project_ratecard |
Get project ratecard |
cor_get_project_templates |
Get available project templates |
cor_get_project_profitability |
Get project profitability |
Tasks (10 tools)
| Tool | Description |
|---|---|
cor_search_tasks |
Search tasks with filters (projectId, clientId, status, text, dates, labels) |
cor_get_my_pending_tasks |
Get my pending tasks |
cor_get_task |
Get task details |
cor_create_task |
Create a new task |
cor_update_task |
Update a task |
cor_delete_task |
Delete a task |
cor_get_task_collaborators |
Get task collaborators |
cor_sync_task_collaborators |
Sync (replace) task collaborators |
cor_add_task_label |
Add label to task |
cor_remove_task_label |
Remove label from task |
Team & Users (8 tools)
| Tool | Description |
|---|---|
cor_get_my_profile |
Get current user profile |
cor_list_users |
List users with filters |
cor_get_user |
Get user details |
cor_list_teams |
List teams |
cor_create_team |
Create a new team |
cor_add_team_users |
Add users to a team |
cor_remove_team_users |
Remove users from a team |
cor_get_working_time |
Get working time for users |
Clients (6 tools)
| Tool | Description |
|---|---|
cor_list_clients |
List clients |
cor_get_client |
Get client details |
cor_create_client |
Create a new client |
cor_update_client |
Update a client |
cor_delete_client |
Delete a client |
cor_get_client_fees |
Get client fees |
Contracts (5 tools)
| Tool | Description |
|---|---|
cor_list_contracts |
List contracts |
cor_get_contract |
Get contract details |
cor_create_contract |
Create a new contract |
cor_get_contract_positions |
Get contract positions |
cor_create_contract_position |
Create position in contract |
Time Tracking (5 tools)
| Tool | Description |
|---|---|
cor_log_hours |
Log hours against a task |
cor_search_time_entries |
Search time entries with filters |
cor_get_hours_by_date |
Get time entries by date |
cor_change_hours_status |
Change time entry status |
cor_accept_suggested_hours |
Accept suggested hours |
Messaging (4 tools)
| Tool | Description |
|---|---|
cor_get_task_messages |
Get messages on a task |
cor_post_task_message |
Post a message on a task |
cor_get_project_messages |
Get messages on a project |
cor_post_project_message |
Post a message on a project |
Ratecards (3 tools)
| Tool | Description |
|---|---|
cor_list_ratecards |
List ratecards |
cor_get_ratecard |
Get ratecard details |
cor_create_ratecard |
Create a new ratecard |
Allocations (3 tools)
| Tool | Description |
|---|---|
cor_get_allocations_by_project |
Get allocations for a project |
cor_save_allocation |
Create/update a resource allocation |
cor_delete_allocation |
Delete a resource allocation |
Products (2 tools)
| Tool | Description |
|---|---|
cor_list_products |
List products |
cor_create_product |
Create a new product |
Labels (1 tool)
| Tool | Description |
|---|---|
cor_get_labels |
Get labels (filter by entity type: project, task, user) |
🏗 Architecture
┌──────────────────────┐ ┌───────────────────────────┐ ┌──────────────────────┐
│ MCP Client │ │ COR MCP Server │ │ COR REST API │
│ (Hermes / Claude / │◄───►│ (FastMCP + httpx) │────►│ api.projectcor.com │
│ Cursor / etc.) │ │ │ │ /v1 │
└──────────────────────┘ ├───────────────────────────┤ └──────────────────────┘
│ Auth auto-detection │
│ • Email/Password (prio) │
│ • API Key + Secret │
└───────────────────────────┘
🧑💻 Development
# Install dev deps
uv sync --dev
# Run tests (24 passing tests — no live API needed, uses mocking)
uv run pytest tests/ -v
# Test server startup
uv run cor-mcp-server --help
# Lint
uv run ruff check .
Adding New Tools
To add a new tool to the COR MCP Server:
-
Create or edit a tool module in
cor_mcp_server/tools/(e.g.,reports.py). -
Write an async function with the
cor_prefix pattern:from ..context import get_client async def cor_list_reports(page: int = 1, per_page: int = 20) -> str: """List reports. Args: page: Page number (default: 1) per_page: Results per page (default: 20) """ client = get_client() data = await client.get("/reports", page=page, per_page=per_page) import json return json.dumps(data, indent=2, ensure_ascii=False, default=str) -
Register the tool in
cor_mcp_server/server.py:from .tools import reports as _reports mcp.tool( name="cor_list_reports", description=_reports.cor_list_reports.__doc__, )(_reports.cor_list_reports) -
Add tests in
tests/test_tools.pyfollowing the existing patterns (import assertion + tool count update). -
Update the tool count in
tests/test_tools.pyif needed.
The get_client() function provides a fully-authenticated CORClient instance with automatic Bearer token handling. All tools return JSON strings for consistent serialization.
Test Structure
Tests are in tests/test_tools.py and cover:
TestTokenStore— Thread-safe token caching, expiry, and refresh logicTestCORClient— HTTP methods (GET, POST, PUT, DELETE), pagination, auth headersTestToolFunctions— Import verification for all 61 tool functions across 11 modulesTestServerCreation— Server factory creates a valid FastMCP instance
All tests use mocking — no live COR credentials required to run them.
📁 Project Structure
cor-mcp-server/
├── pyproject.toml # Dependencies and metadata
├── README.md # This file
├── LICENSE # MIT license
├── .env.example # Env var template (both auth modes)
├── Dockerfile # Container deployment
├── skills/ # Hermes Agent skills
│ └── cor-mcp-setup/
│ └── SKILL.md # Skill: setup + usage guide
├── handoff-personal-hermes.md # Self-contained instructions for personal Hermes
├── cor_mcp_server/
│ ├── __init__.py # Package init
│ ├── __main__.py # CLI entry point
│ ├── server.py # FastMCP server + tool registration (all 61 tools)
│ ├── auth.py # OAuth 2.0 dual-mode (user creds + client creds)
│ ├── client.py # COR API HTTP client (httpx, async)
│ ├── context.py # Shared client context / dependency injection
│ ├── models.py # Pydantic models (14 entity types)
│ └── tools/
│ ├── __init__.py
│ ├── projects.py # 14 tools
│ ├── tasks.py # 10 tools
│ ├── time_tracking.py # 5 tools
│ ├── clients.py # 6 tools
│ ├── contracts.py # 5 tools
│ ├── messaging.py # 4 tools
│ ├── team.py # 8 tools
│ ├── labels.py # 1 tool
│ ├── ratecards.py # 3 tools
│ ├── allocations.py # 3 tools
│ └── products.py # 2 tools
├── tests/
│ ├── __init__.py
│ └── test_tools.py # 24 tests for auth, client, and tools
├── .github/ # GitHub community files
│ ├── dependabot.yml # Dependency auto-updates
│ ├── ISSUE_TEMPLATE/ # Bug report + feature request templates
│ ├── PULL_REQUEST_TEMPLATE.md
│ └── workflows/ # CI + Release pipelines
├── .gitignore
├── .gitattributes
├── CONTRIBUTING.md
├── CODE_OF_CONDUCT.md
└── SECURITY.md
📄 License
👤 Author
Alejandro Duran — Omnicom Media Group
Project COR MCP soruları
Project COR MCP hangi araçları sunar?
61 araç sunar; bunlar arasında cor_list_projects, cor_get_project, cor_create_project, cor_update_project, cor_delete_project yer alır.
Sunucu hangi kimlik doğrulama modlarını destekliyor?
Sunucu iki modu destekler: Kişisel kullanım için Kullanıcı Bilgileri (e-posta ve şifre) ve sunucudan sunucuya iletişim için İstemci Bilgileri (API key ve client secret).
Bu sunucuyu Docker kullanarak çalıştırabilir miyim?
Evet, sunucu hem stdio hem de SSE modlarında tek komutla kurulum için Docker desteği içerir.
Hangi MCP istemcilerine bağlanabilirim?
Hermes Agent, Claude Desktop, Cursor, Claude Code, Cline ve Windsurf dahil olmak üzere MCP uyumlu tüm istemcilerle uyumludur.
Sunucu token süresinin dolmasını yönetiyor mu?
Evet, oturum süresinin dolmasını önlemek için yerleşik OAuth token otomatik yenileme özelliğine sahiptir.