Skip to main content
Glama

πŸ—ΊοΈ ThreadMap MCP for Claude

Conversation drift visualization and forking for Claude.

Stop losing your original intent. See exactly where your conversation drifted. Fork from any point and pick up with clean context.


See it in action

Color dots on every message β€” live drift tracking:

ThreadMap drift dots demo

Timeline panel with fork buttons at every inflection point:

ThreadMap timeline panel


Related MCP server: Context Injection MCP Server

Two ways to use ThreadMap

MCP Server

Chrome Extension

Works in

Claude Code (terminal)

claude.ai (browser)

Install

claude mcp add threadmap npx threadmap-mcp

Load unpacked from chrome-extension/ folder

What you get

7 tools β€” track, timeline, fork, branch

Color dots on every message, timeline panel, one-click fork

Best for

Developers building with Claude Code

Anyone using claude.ai daily

Both are in this repo. Use one or both.


Chrome Extension β€” Visual dots in claude.ai

The Chrome extension injects ThreadMap directly into the claude.ai interface. No config. Just install and open Claude.

Install (2 minutes)

1. Clone or download this repo
2. Open Chrome β†’ chrome://extensions
3. Enable Developer mode (top right toggle)
4. Click Load unpacked β†’ select the chrome-extension folder
5. Open any Claude conversation β€” ThreadMap activates automatically

What you see

  • Color dot next to every message showing drift % from your original intent

  • Sticky bar at the top with live drift status and message count

  • β†Ί rescan β€” loads all messages from long previous conversations

  • timeline β€” full conversation map, click any row to jump to that message

  • β‘‚ fork β€” opens a new Claude chat with full context pre-loaded in the input

How forking works

  1. Click β‘‚ fork in the timeline or next to any message bubble

  2. A new claude.ai tab opens automatically

  3. The full context (origin intent + all messages up to that point) is pasted into the input

  4. Review and hit Send β€” Claude picks up from the clean version

Chrome extension files

chrome-extension/
β”œβ”€β”€ manifest.json     β€” Extension config (Manifest v3)
β”œβ”€β”€ content.js        β€” Core drift engine + DOM injection
β”œβ”€β”€ threadmap.css     β€” All injected styles
β”œβ”€β”€ popup.html        β€” Extension popup with color legend
β”œβ”€β”€ icon16.png        β€” Icons
β”œβ”€β”€ icon48.png
└── icon128.png

Heads up: The extension uses Developer mode (load unpacked). A Chrome Web Store version is on the roadmap.


MCP Server β€” Claude Code integration

The MCP server adds 7 tools to Claude Code for programmatic drift tracking.

Install

claude mcp add threadmap npx threadmap-mcp

Or manually add to ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "threadmap": {
      "command": "npx",
      "args": ["threadmap-mcp"]
    }
  }
}

Quick start

threadmap_track(sessionId="myproject", role="user", content="build me a login system with JWT auth")
β†’ πŸ”΅ Blue β€” Drift: 0% β€” Origin intent set

threadmap_track(sessionId="myproject", role="user", content="the refresh token keeps expiring after 30 seconds")
β†’ 🟠 Orange β€” Drift: 63% β€” ⚑ INFLECTION POINT detected

threadmap_timeline(sessionId="myproject")
β†’ Full color-coded map of all messages with fork instructions

threadmap_fork(sessionId="myproject", messageIndex=6, branchName="jwt-debug")
β†’ 🌿 Branch created β€” clean context from messages 1–7

All 7 tools

Tool

What it does

threadmap_track

Track a message, get drift score + color

threadmap_timeline

Full color-coded conversation map

threadmap_fork

Fork from any message index

threadmap_branch_context

Clean context packet for any branch

threadmap_status

Quick current drift check

threadmap_reset

Archive thread, start fresh

threadmap_legend

Show color reference guide


Color system

Color

Drift

Meaning

πŸ”΅ Blue

0–15%

On track β€” core intent

🟒 Green

16–35%

Productive expansion

🟑 Yellow

36–55%

Adjacent drift

🟠 Orange

56–72%

Inflection point β€” meaningful pivot

πŸ”΄ Red

73–88%

Full context break

🟣 Purple

89–95%

Meta β€” talking about the conversation

βšͺ White

96–100%

Resolution

Orange and Red = fork candidates. The conversation has left your original intent behind.


Real-world use cases

Claude Code β€” architecture integrity Track every message while building. Orange = scope creep. Fork before the drift gets worse. Architecture decisions from the first 10 messages stay clean.

Long previous conversations Click β†Ί rescan in the Chrome extension. ThreadMap scrolls to the top, loads all messages, scans every one, then returns you to the bottom β€” all dots appear.

Team handoffs Use threadmap_branch_context to extract a clean summary of what was decided. Paste it into a new session β€” no scrolling through 200 messages.


Why open source?

Non-linear conversation navigation is the missing primitive for AI-native work. Right now Claude conversations are books with no table of contents, no chapters, no bookmarks.

ThreadMap is the table of contents. If this becomes the standard, it travels across Claude, GPT, Gemini, anything. Nobody owns it. Everybody benefits.


Roadmap

  • Local embedding model (MiniLM) for richer semantic scoring

  • Chrome extension on Chrome Web Store (no developer mode required)

  • Cross-session persistence (SQLite mode)

  • Visual timeline export (SVG/HTML)

  • GPT / Gemini compatibility


Contributing

MIT licensed. See CONTRIBUTING.md.

git clone https://github.com/Advertflair/threadmap-mcp
cd threadmap-mcp
npm install
npm run build

PRs welcome especially for: better drift scoring, Chrome extension improvements, and other AI platform support.


License

MIT β€” see LICENSE


Built by Advertflair. Open source. Ship it.

Available Tools

7 tools
threadmap_branch_contextA

Get the context packet for a specific branch β€” summarized intent and messages up to the fork point.

ParametersJSON Schema
NameRequiredDescriptionDefault
branchIdYesBranch ID returned from threadmap_fork
sessionIdYes

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that the tool returns a context packet containing summarized intent and messages up to the fork point, implying a read-only operation. No contradictions found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even without an output schema, the description explains what the context packet includes ('summarized intent and messages up to the fork point'). For a simple 2-parameter read tool, this is sufficient, though sessionId remains ambiguous.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%: branchId is documented but sessionId is not. The description only says 'specific branch' and provides no additional meaning for sessionId. It fails to compensate for the undocumented parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Get' and resource 'context packet for a specific branch', clearly distinguishing it from sibling tools like threadmap_fork or threadmap_status. It precisely states what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use this tool: when you need a branch's summarized intent and messages up to the fork point. It doesn't explicitly mention alternatives or when not to use, but the context is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

threadmap_forkA

Fork the conversation from a specific message index. Creates a clean branch with only context up to that point.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes
branchNameYesName for this branch (e.g. 'auth-restart')
messageIndexYesIndex of message to fork from (0-based)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of disclosure. It reveals the key behavior of creating a clean branch with only context up to the fork point, which is important. However, it does not disclose side effects like whether the original thread is modified, persistence, or permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the action, and every word adds meaning. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, the description covers the core purpose and outcome. It does not mention return values or edge cases, but for a forking operation the description is sufficiently complete for an agent to understand when and how to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%: messageIndex and branchName have descriptions, but sessionId does not. The description adds minimal semantic value beyond the schema, mainly restating the fork point concept. It does not clarify sessionId's purpose or format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action ('Fork the conversation') and the resource ('from a specific message index'), and distinguishes it from siblings by specifying it creates a new branch with limited context. This is a precise verb+resource combination.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like threadmap_branch_context or threadmap_reset. The description implies usage for branching, but does not state conditions or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

threadmap_legendA

Show the color legend explaining what each dot color means.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. The verb 'show' clearly indicates a read-only, non-mutating action, and there are no side effects or prerequisites to disclose. This adequately covers behavioral expectations for such a simple tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that earns its place. It communicates the purpose efficiently with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema, no annotations), the description is complete. It tells the user what the tool does (shows a legend) and what it contains (color explanations), which is all that is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the description does not need to explain parameter meanings. The baseline of 4 applies, and the description adds no unnecessary parameter-related noise.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('show') and identifies a clear resource ('color legend'), explaining exactly what the tool does. It is distinct from sibling tools like threadmap_fork or threadmap_timeline, which clearly serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: whenever a user needs to interpret the colors on a threadmap. It gives clear context without explicitly naming alternatives, but no alternatives are necessary for a legend tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

threadmap_resetA

Reset the session. Archives current thread and starts fresh tracking from a new origin.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes
newOriginContentYesThe new starting message to set as origin

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosing side effects. It accurately discloses that the current thread is archived (non-destructive) and tracking restarts from a new origin. However, it does not mention reversibility, required permissions, or any other implications beyond the immediate archive, which is a moderate transparency level for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loaded with the primary action ('Reset the session') followed by a clarifying explanation. Every word earns its place, with no redundancy or extraneous detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with 2 parameters, no output schema, and no annotations, the description covers the core functionality and the main side effect. However, it omits any mention of return values or what happens to the archived thread beyond being archived, leaving a moderate gap in completeness. A bit more detail on the post-reset state would elevate it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: newOriginContent has a description, but sessionId does not. The description references 'session' and 'new origin', which loosely maps to both parameters and reinforces their roles. However, it does not explicitly explain that sessionId is the session to reset or provide additional syntax/format details, offering only marginal value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb ('Reset') and resource ('session'), then elaborates on the action: archiving the current thread and starting fresh tracking from a new origin. This distinguishes it from sibling tools like threadmap_fork or threadmap_track, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention scenarios like 'use when you want to abandon current tracking' or contrast with threadmap_fork. The behavior is described, but there is no direct usage context or exclusion criteria, leaving the agent to infer suitability.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

threadmap_statusB

Get current drift status β€” latest color, score, and whether an inflection point was just hit.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It reveals the return components (color, score, inflection flag) but does not explicitly state it is a read-only operation, potential errors, or how sessionId affects results. The verb 'Get' implies a read, but this is not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the core purpose, and contains no filler or redundant information. It is appropriately sized for a simple status getter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is incomplete for a tool with no output schema and no annotations. It does not explain what 'drift status' means, how sessionId is used, the structure of the response, or how this fits with sibling tools. The agent is left with significant ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% (only a param name 'sessionId'), and the description does not mention or explain the parameter at all. Since the description must compensate for the low schema coverage, the total lack of param guidance leaves the agent without clues about how to supply or use sessionId.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and identifies the resource ('drift status') with explicit output details (latest color, score, inflection point). It clearly distinguishes from siblings like threadmap_timeline (historical) and threadmap_track (likely a different action).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description only implies usage by naming 'current drift status' but does not mention exclusions, prerequisites, or alternative tools for other needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

threadmap_timelineA

Show the full color-coded conversation timeline with drift scores, inflection points, and branches.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesSession ID to show timeline for

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. 'Show' implies a read-only operation, but side effects, output format, and error behavior are not addressed. It does disclose visible output components (drift scores, inflection points, branches), adding some behavioral clarity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence conveys the primary purpose and output content with no redundancy. Every phrase earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple schema (one parameter) and no output schema, the description explains the core output content adequately. It could be more complete by clarifying whether the output is a visual timeline or structured data, and by noting any dependency on an existing session, but it is largely sufficient for basic usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully describes the only parameter, sessionId, with 'Session ID to show timeline for', providing 100% coverage. The description adds no extra parameter syntax or constraints, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action ('Show') and the resource ('full color-coded conversation timeline'), and explicitly mentions drift scores, inflection points, and branches. This distinguishes it from siblings like threadmap_fork or threadmap_branch_context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or alternative guidance is provided. The purpose implies a timeline visualization use case, but there is no mention of prerequisites or exclusions compared to other threadmap tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

threadmap_trackA

Track a message in the conversation timeline. Call after each user or assistant message to build the drift map.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYesWho sent this message
contentYesThe message content
sessionIdYesUnique session ID for this conversation

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. While it mentions building the drift map, it does not disclose any side effects, limitations, or behavioral nuances (e.g., whether messages are appended, overwritten, or require an active session). The description is too thin to fully inform the agent about the tool's behavior beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with the action front-loaded and no superfluous detail. Every word earns its place, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 3-parameter tool with no output schema, the description provides sufficient context to invoke it correctly: it states when to call and what it does. However, given the absence of annotations, it could have briefly mentioned that this is a write operation that records messages, but the current level is adequate for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides 100% coverage with clear parameter descriptions (role, content, sessionId). The tool description adds minimal extra meaningβ€”mainly reinforcing that role and content correspond to the immediate user/assistant message. This meets the baseline for high schema coverage but does not substantially enrich parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action ('Track a message in the conversation timeline') and the resource it acts on. It distinguishes itself from siblings like threadmap_timeline (which likely displays the timeline) by positioning itself as the recording step, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: 'Call after each user or assistant message.' This clearly indicates the appropriate trigger and context. It does not explicitly name alternatives or exclusions, but the instruction is specific enough for an agent to know when to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 7 tool updatesv1.0.0
    • First observedthreadmap_branch_context
    • First observedthreadmap_fork
    • First observedthreadmap_legend
    • First observedthreadmap_reset
    • First observedthreadmap_status
    • First observedthreadmap_timeline
    • First observedthreadmap_track

TDQS

A3.8/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: track, timeline, status, fork, branch_context, reset, legend. No two tools overlap in function, so an agent can reliably select the correct one.

Naming Consistency4/5

All tools share the threadmap_ prefix, which aids recognition. However, the suffix mixes verbs (fork, reset, track) and nouns (status, legend, timeline), deviating from a strict verb_noun convention. This is a minor inconsistency.

Tool Count5/5

Seven tools is well-scoped for a conversation drift tracking server. Each tool addresses a specific need and the set feels neither sparse nor bloated.

Completeness4/5

The core workflow of tracking messages, viewing timeline/status, forking branches, and accessing branch context is well covered. Minor gaps exist, such as no explicit branch listing or branch deletion, but these are not critical for the primary use case.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/Advertflair/threadmap-mcp'

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