Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
UV_SYSTEM_CERTSNoSet to '1' to use system certificates when behind an SSL-inspecting proxy. May be needed for uv commands and server startup.
CONTEXTFORGE_HOMENoOverride the base directory for all ContextForge data. Defaults to ~/.contextforge.
CONTEXTFORGE_LOG_FILENoFull path to an additional log file. Alternative to CONTEXTFORGE_DEV_LOG_DIR.
CONTEXTFORGE_LOG_LEVELNoLog level for the server. Default is INFO; set to DEBUG for full FTS scoring breakdowns.
CONTEXTFORGE_DEV_LOG_DIRNoDirectory for an additional log file (for development/dogfooding). The normal log in ~/.contextforge/logs/ is always written.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
create_componentA

Create a new Component entity.

A Component is any coherent unit of functionality that you hold context about: an internal subsystem, an external service, an API, a database, a library, or a tool. The kind tag lets you filter later.

create_repoA

Create a new Repo entity.

Repos hold long-lived facts about a codebase: style, testing, layout, local-dev setup, conventions. A repo optionally belongs to a parent Component (e.g. gateway-proxy-repo -> component:api-gateway).

create_taskB

Create a new Task entity.

Tasks are transient units of work (a feature, a bug, an investigation) that compose context by linking specific Component/Repo/Governance refs via link_task. Scaffolded subtopics: goal, plan, notes.

create_governanceA

Create a new Governance entity — a reusable guideline.

Governance entities hold cross-cutting rules that apply to multiple components/repos/tasks: security policies, API design standards, branding guidelines, user preferences. Any other entity can reference them via governance: [...] in its frontmatter or via add_governance.

When assembling a task pack, governance refs cascade: the task's own governance + governance attached to each linked component/repo + parent components of linked repos. All deduped.

Scaffolded subtopics: overview, rules.

list_componentsB

List all Components, optionally filtered by kind.

list_reposB

List all Repos.

list_tasksB

List all Tasks.

list_governance_entitiesC

List all Governance entities.

delete_entityA

Delete an entity and ALL its subtopics. Destructive.

Also cleans up: aliases, task_links referencing this entity, governance links, uses-graph edges, and nullifies repo->component parent pointers.

Requires an entity-level ref (no subtopic).

add_aliasA

Add a short nickname for an entity. Globally unique.

Example: add_alias("component:api-gateway", "gw") — then resolve_ref("gw") returns the component.

remove_aliasC

Remove an alias from an entity.

resolve_refA

Resolve a fuzzy query ("the gateway", "gw", "auth-gw") to candidate refs.

Checks exact slug, exact alias, and case-insensitive name substring. Returns ranked candidates [{ref, source, score}] — call this before writing if the user refers to something by nickname or description.

get_contextA

Read the current context for an entity or a single subtopic.

Accepts an entity ref ("component:api-gateway") or a subtopic ref ("component:api-gateway/auth"). For entity refs, returns the meta + all subtopics.

upsert_contextB

Create or overwrite a subtopic's full content.

Requires a subtopic ref. Parent entity must already exist. Clears any previously stored source_url/source_name when content is overwritten without source metadata.

append_contextB

Append content to a subtopic, creating it if missing.

Separates appended content from existing with a blank line.

delete_contextC

Delete a single subtopic. Parent entity is preserved.

import_contentA

Store content fetched from an external source as a subtopic.

Use this after another MCP tool (e.g. an Atlassian MCP for Confluence) returns page content — ContextForge then owns it as a snapshot with source tracking. source_fetched_at is set to now automatically.

refresh_sourceA

Return the source_url for a subtopic so the caller can re-fetch.

ContextForge does NOT fetch. The caller (LLM) uses another MCP tool or HTTP fetcher to retrieve fresh content, then calls import_content again with the same ref.

list_stale_sourcesC

List imported subtopics whose source_fetched_at is older than a cutoff.

link_taskB

Wire refs (component/repo/governance, optionally with subtopic) into a task.

Subtopic-level refs keep packs focused. Governance refs attached here also cascade to the assembled pack; governance attached to linked components/repos cascades automatically too.

unlink_taskB

Remove refs from a task's link list. Idempotent.

get_task_packA

Assemble the full context pack for a task.

Returns the task's own meta+subtopics, all resolved linked refs, and a deduplicated governance section. If include_always is True (default), refs from config.json always_include are merged in.

When focus is True (default), entity-level refs with more than per_entity_top_k subtopics are FTS-narrowed against the task's description + own notes — only the top-K most relevant subtopics are included; the rest are returned in dropped for on-demand pull via get_subtopic / get_context. Subtopic-level refs (component:foo/bar) bypass narrowing.

suggest_task_linksA

Propose candidate refs to link into a task.

Walks the uses graph from the anchors (or existing links if anchors is None), collects components within depth hops, FTS-scores each candidate's subtopics against the task's description + notes, and returns top-K suggestions that aren't already linked.

add_governanceA

Attach a governance ref to a component/repo/task.

The governance content will be included in any task pack that touches this entity (directly via link_task, or via parent-component cascade for repos). Cannot attach governance to another governance entity.

remove_governanceC

Detach a governance ref from an entity.

add_external_refA

Attach a reference to an external tracking system (Jira, GitHub, etc.).

ContextForge does not fetch these — it just stores pointers. Use a separate MCP server (Atlassian, GitHub, etc.) to retrieve current state.

remove_external_refC

Detach an external reference from a task.

searchC

Full-text search (SQLite FTS5) across all subtopic content.

get_configA

Return the current ContextForge config (always_include, workspaces).

add_always_includeA

Add a ref to the always_include list.

Any ref in this list is automatically included in every task pack. Typical use: a personal-prefs governance entity you want everywhere.

remove_always_includeC

Remove a ref from the always_include list.

bind_workspaceA

Associate a local workspace path with a repo slug.

Once bound, get_current_workspace(path) returns the repo slug so the LLM can auto-select relevant context when you're working in that dir.

The MCP client's Roots capability is the canonical source of the current workspace path; this tool expects that path passed in.

unbind_workspaceB

Remove a workspace→repo binding.

get_current_workspaceB

Resolve a workspace path to its bound repo (and parent component, if any).

reindexA

Rebuild the SQLite + FTS5 index from markdown files on disk.

Use after manual edits on disk, or if the index seems stale. Filesystem is the source of truth.

tail_logsA

Return the most recent lines from the persistent usage/debug log.

The log at ~/.contextforge/logs/contextforge.log (rotating) captures tool invocations, pack assemblies (with dropped counts, sizes, timings), entity creates, links, governance attachments, resolves, suggestions, context writes, and workspace binds. This is the primary signal for understanding real usage and tuning focus/governance behavior.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

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/srmackey/context-forge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server