MCP Server & API Reference
Verbind elke MCP-compatibele agent met ExecuFunction. Eén configuratieblok geeft je agent getypeerde toegang tot 60+ tools in elk domein van de workspace.
Snelstart
Verbind je agent in minder dan 5 minuten.
1. Haal een Personal Access Token op
Log in bij ExecuFunction, ga naar Instellingen → API Tokens, en maak een nieuw token aan. Tokens zijn afgebakend — je kiest welke domeinen het token kan benaderen.
2. Configureer je MCP-client
Voeg ExecuFunction toe aan de MCP-configuratie van je agent. Werkt met Claude Code, Cursor, Windsurf, en elke MCP-compatibele client.
{ "mcpServers": { "execufunction": { "url": "https://mcp.execufunction.com/sse", "headers": { "Authorization": "Bearer exf_pat_your_token_here" } } } }
3. Verifieer de verbinding
Vraag je agent om je projecten of taken op te sommen. Als het data retourneert, ben je verbonden.
# Agent calls: project_list() task_list(status: "in_progress") calendar_list_events(startDate: "2026-02-17", endDate: "2026-02-23") # Agent now has your full operational context.
CLI Installation
The ExecuFunction CLI gives you the same 60+ tools from your terminal. Same API, same data, same permissions — just a different interface.
1. Install
npm install -g @execufunction/cli
2. Authenticate
The CLI uses device flow authentication — it opens your browser, you approve, and a token is stored locally.
$ exf auth login
Your verification code: ZFMV-SBGJ
Opening browser...
If the browser didn't open, visit: https://execufunction.com/app/device?code=ZFMV-SBGJ
Waiting for authorization...
Logged in successfully!
3. Run your first command
$ exf projects list NAME STATUS TASKS ExecuFunction active 12 Marketing Site active 4 Mobile App planning 0 $ exf projects context <id> # Full project context: tasks, signals, notes, members.
Every CLI command supports --json for machine-readable output. Pipe it into jq, feed it to scripts, or let agents parse it directly.
Authenticatie
ExecuFunction supports two authentication methods. Use device flow for interactive CLI sessions, or Personal Access Tokens for MCP clients and CI/CD.
Device Flow (CLI)
Run exf auth login. The CLI opens your browser, you sign in with Google and approve the device code. A PAT is generated and stored in ~/.config/exf/ automatically. No token to copy-paste.
Personal Access Token (MCP & API)
For MCP clients and programmatic access, create a token in Settings → API Tokens. Pass it in the Authorization header:
Authorization: Bearer exf_pat_your_token_here
Tokens are scoped to specific domains (tasks-only, calendar-only, full access, etc.). For CI pipelines, set EXF_PAT as an environment variable.
$ exf auth login $ exf auth status $ exf auth logout
Token scopes en beschikbare schrijfbewerkingen zijn afhankelijk van je workspace-configuratie en abonnement. Bekijk Instellingen → API Tokens en Prijzen voor de huidige limieten van je account.
MCP-verbinding
ExecuFunction gebruikt het Server-Sent Events (SSE)-transport voor MCP. Het endpoint is:
https://mcp.execufunction.com/sse
Compatibel met elke MCP-client die SSE-transport ondersteunt: Claude Code, Claude Desktop, Cursor, Windsurf, Continue, en custom implementaties met de MCP SDK.
Taken
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| task_list | exf tasks list |
READ | List tasks with filters: status (inbox, next_action, in_progress, waiting_for, completed), project, limit. |
| task_get | exf tasks get |
READ | Get a single task with full details: description, due date, priority, project, linked code. |
| task_create | exf tasks create |
WRITE | Create a task. Accepts title, description, priority (do_now, schedule, delegate, someday), project, due date. |
| task_update | exf tasks update |
WRITE | Update task fields: title, description, status, priority, due date, project assignment. |
| task_complete | exf tasks complete |
WRITE | Mark a task as completed. |
| task_delete | exf tasks delete |
DELETE | Permanently delete a task. |
$ exf tasks list --status in_progress TITLE STATUS PRIORITY DUE Ship CLI docs in_progress do_now 2026-02-27 Fix device flow auth in_progress do_now - $ exf tasks create --title "Review PR #312" --priority do_now --json {"id":"abc-123","title":"Review PR #312","status":"inbox","priority":"do_now"}
Agenda
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| calendar_list_events | exf calendar list |
READ | List events in a date range. Returns title, start/end times, location, description. Supports limit. |
| calendar_create_event | exf calendar create |
WRITE | Create a calendar event. Requires title, startTime, endTime (ISO 8601). Optional: description, location. |
| calendar_update_event | exf calendar update |
WRITE | Update an existing event's title, times, description, or location. |
| calendar_delete_event | exf calendar delete |
DELETE | Remove an event from the calendar. |
$ exf calendar list --start 2026-02-24 --end 2026-02-28 TITLE START END LOCATION Team standup Feb 25 09:00 Feb 25 09:30 Zoom Product review Feb 26 14:00 Feb 26 15:00 Conf Room B $ exf calendar create --title "Ship CLI v0.3" \ --start-time 2026-02-27T10:00:00Z --end-time 2026-02-27T10:30:00Z
Projecten
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| project_list | exf projects list |
READ | List projects. Filter by status (planning, active, on_hold, blocked, completed). Include archived. |
| project_get_context | exf projects context |
READ | Full project context: tasks, notes, members, signals. The richest single call for understanding a project. |
| project_create | exf projects create |
WRITE | Create a project with name, summary, status, and emoji. |
| project_update | exf projects update |
WRITE | Update project name, summary, status, or emoji. |
| project_archive | exf projects archive |
WRITE | Archive a completed or inactive project. |
Kennisbank
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| note_search | exf notes search |
READ | Semantic + full-text search across notes. Filter by project or note type. |
| note_list | exf notes list |
READ | List notes. Filter by type (note, concept, meeting, reference, daily) and project. |
| note_get | exf notes get |
READ | Get full note content by ID. |
| note_create | exf notes create |
WRITE | Create a note with title, markdown content, type, and optional project. |
| note_update | exf notes update |
WRITE | Update note title, content, or type. |
| note_delete | exf notes delete |
DELETE | Delete a note. |
Datasets
Structured datasets support grounded summaries, grouped analysis, ranking, bucketing, time-series work, import/export, schema changes, and record mutations from the same CLI and MCP-backed platform.
| Capability | CLI | Access | Description |
|---|---|---|---|
| Browse and inspect | exf datasets list, get, query, summarize |
READ | List datasets, inspect schema, query records, and get row-count and sample summaries. |
| Grounded analysis | exf datasets analyze, aggregate, compare |
READ | Generate natural-language insights, grouped metrics, and side-by-side segment comparisons. |
| Ranking and bucketing | exf datasets rank, bucket |
READ | Sort or score records, then bucket numeric or date fields into ranges with metrics per bucket. |
| Time series and plots | exf datasets timeseries, plot |
READ | Compute lag, pct-change, rolling windows, drawdown, or normalize plotting payloads from derived results. |
| Import and export | exf datasets import, export |
WRITE | Bring CSVs in, append to existing datasets, or export filtered results back to CSV. |
| Create and materialize | exf datasets create, materialize |
WRITE | Create datasets directly or turn a derived result into a new scratch dataset. |
| Schema and records | exf datasets schema, add, update-record, delete-record |
WRITE | Modify field definitions, add rows, update rows, and delete rows with explicit commands. |
| Derived workflows | exf datasets join, compute |
READ | Join dataset slices and compute derived fields before materializing or plotting the result. |
$ exf datasets list $ exf datasets summarize <dataset-id> $ exf datasets analyze <dataset-id> --focus-fields BMI,Outcome $ exf datasets aggregate <dataset-id> --group-by Outcome \ --metrics '[{"operation":"count","as":"rows"},{"operation":"avg","field":"BMI","as":"avg_bmi"}]' $ exf datasets compare <dataset-id> --segment-field Outcome \ --metrics '[{"operation":"avg","field":"Glucose","as":"avg_glucose"}]' $ exf datasets rank <dataset-id> --sorts '[{"field":"BMI","direction":"desc"}]' --limit 10 $ exf datasets bucket <dataset-id> --field Age --bucket-count 5 \ --metrics '[{"operation":"count","as":"rows"}]'
Contacten
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| people_search | exf people search |
READ | Search contacts by name. Returns relationship type, company, contact info, interaction history. |
| — | exf people list |
READ | List all contacts. CLI-only convenience wrapper. |
Codebase
Indexeer je repositories voor semantisch code zoeken. ExecuFunction parseert je code naar symbolen en embeddings voor snel terugvinden.
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| codebase_list | exf codebase list |
READ | List all indexed repositories. |
| codebase_register | exf codebase register |
WRITE | Register a repository for indexing. Set root path, name, include/exclude patterns. |
| codebase_status | exf codebase status |
READ | Check indexing status for a repository. |
| codebase_index | exf codebase index |
WRITE | Full index: scan and upload all files matching patterns. |
| codebase_index_incremental | — | WRITE | Git-aware incremental index. Only processes changed files since last index. MCP only. |
| codebase_search | exf codebase search |
READ | Semantic code search. Filter by repository, language, symbol type (function, class, interface, type, export, impl). |
| codebase_snapshot_status | exf codebase snapshot |
READ | Get the latest index snapshot for a repository, optionally filtered by branch or materialized for download. |
| codebase_delete | exf codebase delete |
DELETE | Delete a repository and all indexed code data. |
| code_who_knows | exf code who-knows |
READ | Find developers with expertise in a code area. Based on git history and contribution patterns. |
| code_compute_expertise | exf code expertise |
WRITE | Refresh the expertise index for a repository. |
| code_history | exf code history |
READ | Get commit history. Filter by file path. |
| git_blame_symbol | exf code blame |
READ | Git blame for a file or line range. Shows who last modified each line. |
$ exf code history <repo-id> --path src/auth/service.ts $ exf code blame src/auth/service.ts --root . $ exf code expertise <repo-id> $ exf code who-knows <repo-id> src/auth $ exf code link <task-id> --repo <repo-id> --file src/auth/service.ts
Code Memory
Sla feiten op over je codebase en zoek ze op. Architectuurbeslissingen, conventies, valkuilen, eigenaarschap — persistente kennis die sessies overleeft.
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| code_memory_store | exf code memory store |
WRITE | Store a fact. Categories: architecture, integration, convention, entrypoint, gotcha, ownership. Optional: file path, repository. |
| code_memory_search | exf code memory search |
READ | Semantic search over stored code facts. Filter by category or repository. |
| code_memory_list | exf code memory list |
READ | List all stored code memories. Filter by repository. |
| code_memory_delete | exf code memory delete |
DELETE | Delete a stored code memory by ID. |
Documenten
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| upload_document | exf documents upload |
WRITE | Upload a PDF, Markdown, or text file into Knowledge. Set by file path or inline content. Auto-detects type. |
Vault
Encrypted secret storage. Store API keys, credentials, OAuth tokens, SSH keys, and sensitive notes. Values are encrypted at rest and audit-logged on read.
| MCP Tool | CLI | Access | Description |
|---|---|---|---|
| vault_create | exf vault create |
WRITE | Store a new encrypted secret. Types: env_var, credential, oauth_token, ssh_key, certificate, note. |
| vault_list | exf vault list |
READ | List vault entries (metadata only — never decrypted values). Filter by type or category. |
| vault_search | exf vault search |
READ | Search vault entries by name, slug, or description. Returns metadata only. |
| vault_read | exf vault read |
READ | Decrypt and read a vault secret. Audit-logged. Only available to trusted clients. |
| vault_update | exf vault update |
WRITE | Update vault entry metadata: name, tags, category, description. |
$ exf vault create --name "Stripe API Key" --json # Interactive prompt for sensitive payload values $ exf vault list NAME TYPE CATEGORY CREATED Stripe API Key env_var payments 2026-02-25 GitHub PAT credential devtools 2026-02-20 $ exf vault read --entry-id <id> # Decrypts and displays. Audit-logged.
Workflows
Cross-domain recipes that combine multiple tools. These patterns work identically via MCP or CLI.
Link Code to Tasks
Connect implementation work to the task that motivated it. Agents and teammates can trace why code changed.
task_create(title: "Implement device flow auth", priority: "do_now")
# ... implement the feature ...
task_link_code(taskId: "abc-123", repositoryId: "repo-456",
commitSha: "5cf5f22", filePath: "src/services/deviceAuthService.ts",
notes: "Fixed verification_uri to use /app/device")
task_complete(taskId: "abc-123")
$ exf tasks create --title "Implement device flow auth" --priority do_now $ exf code link abc-123 --repo repo-456 \ --commit 5cf5f22 --file src/services/deviceAuthService.ts $ exf tasks complete abc-123
Project Onboarding
New to a project? Pull the full context in three commands.
# 1. Get the big picture $ exf projects context <id> # 2. See what's in flight $ exf tasks list --project <id> --status in_progress # 3. Check code conventions $ exf code memory search "architecture and conventions"
End-of-Day Review
Summarize what happened today. Works great as an agent prompt or a manual check.
# Agent calls: calendar_list_events(startDate: "2026-02-26", endDate: "2026-02-26") task_list(status: "completed", limit: 20) task_list(status: "in_progress") # Agent now has: today's meetings, completed tasks, and remaining work. # It can draft a standup summary, update project status, or flag blockers.
$ exf calendar list --start 2026-02-26 --end 2026-02-26 $ exf tasks list --status completed --limit 20 --json | jq '.[] | .title' $ exf tasks list --status in_progress
Store a Debug Discovery
Found a gotcha? Store it so your future self (or your agent) doesn't rediscover it the hard way.
$ exf code memory store \ --fact "Device flow verification_uri must use /app/device (SPA path), not /device (marketing homepage)" \ --category gotcha \ --file src/services/deviceAuthService.ts
Credits & Facturering
Elke workspace gebruikt op credits gebaseerde facturering voor chat, analyse en door tools ondersteunde acties. Leesbewerkingen zijn over het algemeen goedkoper dan zwaardere redeneringen of analyses in meerdere stappen.
Elke nieuwe gebruiker krijgt 200 credits bij aanmelding, en deze 200 credits worden elke maand vernieuwd. Het gratis abonnement bevat fast-tier modellen en het kernsysteem voor contextbeheer.
Zie execuTerm Pricing voor creditkosten per model en plan details.
Idempotentie
Schrijfbewerkingen (task_create, note_create, calendar_create_event, etc.) accepteren een optionele idempotencyKey-parameter. Als je een verzoek opnieuw stuurt met dezelfde sleutel, retourneert ExecuFunction het originele resultaat in plaats van een duplicaat aan te maken.
task_create(
title: "Review PR #247",
priority: "do_now",
idempotencyKey: "agent-run-42-task-pr247"
)
# Safe to retry. Same key = same result.
Rechten
Tokens zijn afgebakend per domein. Een agenda-only token kan geen taken of contacten lezen. Beperk je tokens tot de minimale toegang die je agent nodig heeft.
Beschikbare scopes:
tasks— Task CRUD and completioncalendar— Event listing and creationprojects— Project management and contextknowledge— Notes, search, document uploadpeople— Contact searchcode— Codebase indexing, search, memory, blame*— Full access (all domains)
Beschikbare schrijfbewerkingen zijn afhankelijk van je token scope en huidige workspace-abonnement. Controleer het uitgegeven token en de huidige prijzenpagina voordat je vertrouwt op schrijfacties in productie.