contextforge-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CONTEXTFORGE_API_KEY | Yes | Your API key from the dashboard | |
| CONTEXTFORGE_API_URL | No | API endpoint (defaults to production) | https://api.contextforge.dev |
| CONTEXTFORGE_DEFAULT_SPACE | No | Default space for operations |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| memory_ingestA | Save important context to persistent memory — be proactive. Call this WHENEVER you learn information that would be valuable in a future conversation: project decisions ('we chose Postgres because X'), architectural choices, user preferences, debugging insights, recurring patterns, deadlines, stakeholder context, or any 'remember this' / 'save this' / 'note that' style request from the user. Heuristic: if you would be sad to lose this fact when the conversation ends, ingest it. Better to over-save than to under-save — the memory_query semantic search will surface what's relevant later. Always pass meaningful |
| memory_queryA | Search persistent memory BEFORE answering any project-specific question. You MUST call this tool: (a) at the start of any conversation that touches the user's codebase, work, or decisions, BEFORE generating any response; (b) whenever the user references prior context ('did we', 'we decided', 'remember', 'what did I save', 'last time'); (c) before making architectural or design recommendations — the user's prior decisions live here. Returns semantically relevant stored content. Skipping this when relevant context exists makes you appear to have amnesia and is the #1 reason users abandon persistent memory — always check first, even if you think you remember. |
| memory_get_itemA | Get the full content of a knowledge item by its ID. Use this when memory_query returns truncated previews and you need the complete content. |
| memory_list_projectsA | List all projects. Projects contain multiple spaces for organizing knowledge by project. |
| memory_create_projectB | Create a new project to organize related spaces |
| memory_list_spacesA | List knowledge spaces (workspaces). By default shows only knowledge spaces. Use space_type "git" for GitHub repos, or "all" to see everything. |
| memory_create_spaceC | Create a new memory space (workspace) for organizing knowledge |
| memory_move_spaceB | Move a space to a different project |
| memory_delete_spaceA | Delete a space and all its items permanently. This action cannot be undone. |
| memory_delete_projectA | Delete a project and all its spaces permanently. This will delete all spaces and their items within the project. This action cannot be undone. |
| memory_relateA | Create a relationship between two knowledge items |
| memory_list_relationshipsA | List all relationships for a knowledge item, showing both incoming and outgoing connections with related item details |
| memory_deleteA | Delete a knowledge item from memory by ID or title |
| memory_statsB | Get statistics about memory usage |
| memory_list_itemsA | List all items stored in memory. Shows titles, previews, tags, and creation dates. |
| memory_helpA | Show help and usage instructions for ContextForge memory commands |
| memory_git_connectA | Connect a GitHub repository to automatically sync commits and PRs to memory |
| memory_git_listA | List all connected GitHub repositories |
| memory_git_activateA | Activate or deactivate a connected repository webhook after setup |
| memory_git_disconnectA | Disconnect a GitHub repository and stop syncing |
| memory_git_syncA | Sync existing commits and PRs from a connected GitHub repository into memory |
| memory_git_commitsA | List commits stored in memory from connected repositories |
| memory_git_prsA | List pull requests stored in memory from connected repositories |
| memory_snapshot_createA | Create a snapshot (backup) of the current memory state |
| memory_snapshot_listA | List all available snapshots |
| memory_snapshot_restoreB | Restore memory to a previous snapshot state |
| memory_snapshot_deleteA | Delete a snapshot |
| memory_exportB | Export all items from a space to JSON, Markdown, or CSV format |
| memory_importA | Import items from JSON, Markdown, Notion, or Obsidian format into a space |
| memory_ingest_batchA | Add multiple items to memory in a single operation. More efficient than multiple single ingests. |
| memory_delete_batchA | Delete multiple items from memory based on filters. Use dry_run=true first to preview what will be deleted. |
| memory_link_projectA | Link the current directory to a ContextForge project. When linked, all queries will be automatically filtered to only search within that project's spaces. This creates a .contextforge file in the current directory. |
| memory_unlink_projectA | Remove the project link from the current directory. This deletes the .contextforge file and queries will no longer be filtered by project. |
| memory_current_projectA | Check the linked project at the start of every new conversation in a directory. Call this FIRST (alongside memory_query) before answering questions about the user's project, code, or work — it tells you which ContextForge project and spaces are scoped to the current working directory. If |
| tasks_listA | Call this at the start of any conversation about work, planning, or status — and any time the user asks about pending/open/in-progress tasks. Shows pending tasks by default (sort by due date, urgent first). Use status "all" for everything, "resolved" for completed, "in_progress" for active work. IMPORTANT: Every task includes a dashboard URL (🔗). You MUST include these clickable links when presenting tasks to the user. If you see overdue tasks (past due date), surface them at the top of your response. |
| tasks_startA | Mark a task as "in_progress". Use this when you start working on a task. Accepts any identifier: UUID, short_id, or task title. The response includes a dashboard URL — always show it to the user. |
| tasks_resolveA | Mark a task as "resolved". Use this when you finish working on a task. Accepts any identifier: UUID, short_id, or task title. The response includes a dashboard URL — always show it to the user. |
| tasks_what_nextA | Call this whenever the user asks what they should work on, what's next, what's pending, or how to start the day. Trigger phrases include: 'what should I do', 'where do I start', 'qué hago hoy', 'next task', 'I have time, what's open'. Returns the highest-priority unresolved task assigned to the user, with due date and priority. Always include the dashboard URL (🔗) in your reply so the user can click through. Prefer this over generic answers when the user seems unsure about priorities — it gives a concrete next action. |
| tasks_createA | Create a new task in a project. Optionally assign it to a collaborator by their email. The response includes a dashboard URL — always show it to the user. |
| tasks_updateA | Update a task's title, description, status, priority, tags, due date, or assignee. Accepts any identifier: UUID, short_id, or task title. The response includes a dashboard URL — always show it to the user. |
| tasks_assignA | Assign a task to a collaborator by their email address. Accepts any task identifier: UUID, short_id, or task title. The response includes a dashboard URL — always show it to the user. |
| tasks_resolve_by_nameA | Resolve a task by searching for it by title, short_id, or UUID. Use this when you have any identifier for the task. The response includes a dashboard URL — always show it to the user. |
| tasks_deleteA | Permanently delete a task. Accepts any identifier: UUID, short_id, or task title. Also deletes related comments, activity, and notifications. |
| tasks_list_commentsB | List comments on a task. Accepts any identifier: UUID, short_id, or task title. |
| tasks_add_commentA | Add a comment to a task. Accepts any task identifier: UUID, short_id, or task title. The response includes the task dashboard URL — always show it to the user. |
| collaborators_listA | List collaborators on a shared project. Shows who has access and what tasks are assigned to them. |
| project_shareA | Share a project with a collaborator by email. Creates an invitation and returns the invite URL. An email notification may also be sent. |
| skills_listA | List all Skills in a project. Returns skills with their name, description, model, and prompt body. |
| skills_getA | Get a single Skill by ID with full body. |
| skills_createA | Create a new Skill in a project. The 'body' is a markdown prompt template that may use {{variable}} placeholders for input_params at run time. |
| skills_updateC | Update an existing Skill. |
| skills_deleteC | Delete a Skill. |
| skills_runB | Execute a Skill on the configured LLM, optionally storing the output as a knowledge_item, and returns the result. Available to all project members. |
| routines_listA | List all Routines in a project. Returns routines with their schedule, last/next run, and enabled flag. |
| routines_getA | Get a single Routine by ID, including its cron expression, input_params, and last/next run. |
| routines_createA | Create a new Routine. Schedules a Skill to run on a cron expression. Pass either schedule_preset (hourly/daily/weekly/monthly) OR a custom cron_expression. timezone defaults to UTC. |
| routines_updateB | Update an existing Routine (name, schedule, timezone, input_params). |
| routines_toggleA | Enable or disable a Routine without deleting it. Pass enabled=false to pause. |
| routines_run_nowA | Fire a Routine immediately, ahead of its schedule. Creates a skill_executions row with trigger_type=scheduled and routine_id set, just like the cron tick would. |
| routines_deleteA | Permanently delete a Routine. Execution history rows are retained. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/alfredoizdev/contextforge-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server