Moltline Recall
Server Details
A portable knowledge-graph memory you pass in and get back. No database. 4 of 6 free.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- GarphenGate/moltline-mcp
- GitHub Stars
- 0
- Server Listing
- moltline-mcp
TDQS
Scored across 6 tools
Each tool has a distinct, non-overlapping purpose: time-based query, compaction, diff, lint, search, and upsert. No ambiguity between them.
All tools follow a consistent 'graph_' prefix with descriptive verb suffixes, forming a clear and predictable naming pattern.
Six tools is an appropriate number for a memory graph server, covering all essential operations without redundancy or bloat.
The toolset provides full coverage: upsert for writing, search and at_time for reading, diff for change tracking, lint for validation, and compact for maintenance. No gaps.
Available Tools
6 toolsgraph_at_timeGraph At TimeARead-onlyIdempotentInspect
See the memory as it stood on a given day, optionally faded by age. PREMIUM (license).
Relations carrying since and until are filtered to those in force on the date; with a half-life, confidence decays exponentially with age so a two-year-old belief does not weigh the same as last week's. Typical input {"graph": {...}, "as_of": "2026-06-01", "half_life_days": 180} returns {"as_of": "2026-06-01", "graph": {...}, "dropped": {"not_yet": 1, "expired": 2}, "decayed": 4}.
Use when the answer depends on when you ask. Not for what changed between two points - that is graph_diff, which does not need dates at all. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "as_of must be a date like 2026-06-01"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | Yes | The date to view the memory as of, ISO 8601, e.g. "2026-06-01". | |
| graph | Yes | The graph document. | |
| half_life_days | No | Days over which a relation's confidence halves. 0, the default, disables decay and leaves confidence untouched. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though annotations already declare readOnlyHint=true and idempotentHint=true, the description adds substantial behavioral context: how relations with since/until are filtered, how half-life decay works exponentially, the specific return fields (dropped, decayed), and the error-handling contract (never raises protocol error, returns a structured error object). This goes well beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and appropriately sized for the tool's complexity. It starts with a one-sentence summary, then details the filtering/decay mechanics, provides an example, gives usage vs. alternative guidance, and covers error handling. Every sentence contributes unique value without redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's core behavior, parameters, return structure, error handling, use cases, and relationship to siblings. Given the complexity of the tool (nested objects, optional decay, error responses) and the available annotations/schema, this description leaves no significant gaps for an agent to misuse the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage for all three parameters, so the baseline is 3. The description enhances this by giving a typical input/output example that ties the parameters together, explaining the effect of half_life_days on confidence (exponential decay), and showing how as_of interacts with the graph. This adds semantic meaning beyond the schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear statement: 'See the memory as it stood on a given day, optionally faded by age.' This specifies the resource (memory graph), the temporal scope (as of a date), and the optional age-fading behavior. It also distinguishes itself from graph_diff explicitly, clarifying its unique purpose among sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'Use when the answer depends on when you ask. Not for what changed between two points - that is graph_diff, which does not need dates at all.' This tells the agent exactly when to choose this tool over alternatives, including a named alternative and the condition for exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
graph_compactGraph CompactARead-onlyIdempotentInspect
Shrink a memory to the part that still earns its place. PREMIUM (license).
Ranks entities by how connected they are and how much is recorded about them, keeps anything you name outright, and drops the rest along with the relations that pointed at them. Typical input {"graph": {...}, "max_entities": 50, "keep": ["Acme Corp"]} returns {"graph": {...}, "kept": 50, "dropped_entities": ["Old Note", ...], "dropped_relations": 12, "ranking": "degree, then observation count, then name"}.
Use when a graph has outgrown the context you can spend on it. Not for removing wrong facts - graph_lint finds those, and deleting them is a decision you should make deliberately rather than by ranking. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| keep | No | Entity names to keep regardless of rank, e.g. ["Acme Corp"]. Matched case-insensitively. | |
| graph | Yes | The graph document to compact. | |
| max_entities | No | How many entities to keep. Default 50. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description adds substantial behavioral context: the ranking criteria ('degree, then observation count, then name'), the response shape with kept/dropped counts, that it never raises protocol errors but returns an error object, and that retries are safe after input correction. This is rich, non-redundant transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but remarkably efficient: a one-sentence purpose, a concrete example, usage boundaries, and error behavior. Every sentence adds information; there is no filler or repetition of the schema, and the most important points are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich annotations, full schema coverage, and output schema, the description still manages to fill all important gaps: return format, ranking algorithm, error semantics, idempotence reassurance, and a realistic usage example. There is no missing context an agent would need for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all three parameters (graph, max_entities, keep) with descriptions, defaults, and constraints, so the baseline is high. The description adds meaningful usage semantics by showing a typical input/output example and explaining what 'keep' means behaviorally ('keeps anything you name outright') and how ranking works, which goes beyond the schema's mechanical definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool as 'Shrink a memory to the part that still earns its place' and details exactly what happens: ranking entities, keeping named ones, and dropping the rest with their relations. It explicitly distinguishes this from sibling tools like graph_lint, which is for finding wrong facts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance ('Use when a graph has outgrown the context you can spend on it') and when-not-to-use guidance ('Not for removing wrong facts - graph_lint finds those'). It also names the alternative tool, making the usage boundary crisp.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
graph_diffGraph DiffARead-onlyIdempotentInspect
Say exactly what changed between two versions of a memory. FREE.
The audit trail a database gives you for free, without the database. Typical input {"before": {...}, "after": {...}} returns {"entities_added": ["Beta Ltd"], "entities_removed": [], "observations_added": {"Acme Corp": ["renewed in March"]}, "relations_added": [...], "changed": true}.
Use after an upsert to record what a session learned, or between two agents to see what one knows that the other does not. Not for merging the two - feed the differences back through graph_upsert for that. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| after | Yes | The later graph document. | |
| before | Yes | The earlier graph document. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations already declare read-only and idempotent, the description adds error-handling behavior: 'never raises a protocol error — it returns an error object.' It also hints at retry safety: 'it is always safe to retry,' which goes beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with a clear purpose statement. It's a bit long but each sentence provides value, such as usage, error semantics, and idempotency. Slightly verbose but justified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, use cases, non-use cases, error behavior, retry guidance, and includes an output example. With annotations and output schema already present, this description is comprehensive and complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for 'before' and 'after'. The description adds a concrete JSON example showing expected structure, but this is more illustrative than adding new semantic meaning. Meets the baseline without adding significant parameter-specific insights.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Say exactly what changed between two versions of a memory,' a specific verb+resource that clearly defines the tool's purpose. It differentiates from siblings by stating 'Not for merging the two' and pointing to graph_upsert, making the distinction explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit use cases: 'Use after an upsert... or between two agents.' It also states what not to use it for and directs to an alternative: 'feed the differences back through graph_upsert for that.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
graph_lintGraph LintARead-onlyIdempotentInspect
Find the breaks a memory graph accumulates as it grows. FREE.
Relations pointing at entities that do not exist, entities nothing points at, near-duplicate names, and observations that contradict each other on the same entity. Typical input {"graph": {...}} returns {"ok": false, "dangling_relations": [{"from": "Acme Corp", "to": "Beta Ltd", "missing": ["Beta Ltd"]}], "orphan_entities": ["Old Note"], "near_duplicates": [["Acme Corp", "Acme Corp."]], "contradictions": []}.
Use before trusting a graph you did not build, or on a schedule as memory grows. Not for comparing two graphs (graph_diff) and not for shrinking one (graph_compact). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| graph | Yes | The graph document to check. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description does not contradict these. It adds value by stating the tool never raises a protocol error on invalid input, instead returning an error object with corrective guidance. It also reiterates 'Every call is read-only and idempotent, so after correcting the input it is always safe to retry,' which reinforces the idempotentHint and provides extra context about retry safety.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured. It opens with a strong purpose statement, lists concrete issues, provides an example, gives usage timing, explicitly names exclusions, and describes error behavior. Every sentence adds useful information without redundancy. It earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (checking multiple graph issues), the presence of annotations, and the output schema, the description provides complete context. It covers what the tool does, when to use it, what to expect as output, error behavior, and side-effect safety. The example output clarifies the return structure, making the tool easy to call correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage for the single parameter, describing it as 'The graph document to check.' The description goes beyond this by showing the typical input format {"graph": {...}} and the expected output structure, giving the agent a realistic sense of what to pass and what to expect back. This adds meaning beyond the schema's minimal description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find the breaks a memory graph accumulates as it grows.' It enumerates specific issues (dangling relations, orphan entities, near-duplicate names, contradictions) and provides a concrete input/output example. This distinguishes it from siblings like graph_diff and graph_compact.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use: 'Use before trusting a graph you did not build, or on a schedule as memory grows.' It also explicitly names alternatives and what the tool is NOT for: 'Not for comparing two graphs (graph_diff) and not for shrinking one (graph_compact).' This provides clear usage guidance and exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
graph_searchGraph SearchARead-onlyIdempotentInspect
Find what the graph knows about something, plus its neighbourhood. FREE.
Scores entities by how many query words appear in the name, type and observations, then pulls in whatever is within the requested number of hops - because the useful answer to "what do we know about Acme" is usually Acme plus who it is connected to. Typical input {"graph": {...}, "query": "acme renewal", "hops": 1} returns {"matches": [{"name": "Acme Corp", "score": 3, "why": ["name", "observation"]}], "neighbourhood": {"entities": [...], "relations": [...]}, "hops": 1}.
Use to read memory back before answering. Not for writing (graph_upsert) and not for narrowing by date, which graph_at_time does. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "query must contain at least one word or number"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| hops | No | How far to expand from each match along relations. 0 returns matches only; 3 is the maximum. Default 1. | |
| graph | Yes | The graph document to search. | |
| limit | No | Maximum entities to return. Default 20, maximum 200. | |
| query | Yes | Words to look for, e.g. "acme renewal". Matching is on whole lowercase words, so it is exact and repeatable rather than fuzzy. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (read-only, idempotent), the description reveals scoring logic, neighbourhood inclusion, exact word matching, and error behavior (never raises protocol errors, returns error objects). It also states 'Every call is read-only and idempotent,' reinforcing the annotations, and explains the rationale behind neighbourhood pulls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise yet packed with information: a clear opening line, a concrete example, usage guidance, and error handling—all in about 150 words. Every sentence earns its place without redundancy, making it highly effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and the presence of an output schema, the description covers essential aspects: purpose, scoring, hops semantics, error behavior, and safety guarantees. It addresses potential pitfalls (e.g., invalid input) and provides a complete mental model for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While the schema fully describes parameters, the description enriches query semantics with 'Matching is on whole lowercase words' and explains hops with '0 returns matches only.' The example ties graph, query, and hops together, providing practical meaning beyond mere schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find what the graph knows about something, plus its neighbourhood.' It uses a specific verb ('Find') and resource ('the graph'), then elaborates with scoring and hop-based expansion. It also distinguishes from siblings by explicitly mentioning graph_upsert and graph_at_time, leaving no ambiguity about its role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage guidance is provided: 'Use to read memory back before answering. Not for writing (graph_upsert) and not for narrowing by date, which graph_at_time does.' This directly tells when to use this tool versus alternatives, and the error-handling note adds when retries are safe.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
graph_upsertGraph UpsertARead-onlyIdempotentInspect
Fold new facts into a memory graph and get the whole graph back. FREE.
Idempotent by construction: re-adding the same entity, observation or relation changes nothing, so an agent that replays its own history does not end up with a graph full of duplicates. Typical input {"graph": {"entities": [], "relations": []}, "entities": [{"name": "Acme Corp", "type": "company", "observations": ["renewed in March"]}]} returns {"graph": {...}, "added": {"entities": 1, "observations": 1, "relations": 0}, "merged": 0}.
Use as the single write path for memory. Not for reading it back selectively - that is graph_search - and not for finding out what a write changed, which graph_diff answers precisely. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "graph exceeds entities; split it"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| graph | No | The existing graph document, or omitted to start a new one. Shape: {"entities": [...], "relations": [...]}. | |
| entities | No | Entities to add or extend, each {"name": ..., "type": ..., "observations": [...]}. Observations are appended and deduplicated; an existing entity keeps its type unless a new one is supplied. | |
| relations | No | Relations to add, each {"from": ..., "to": ..., "type": ..., and optionally "since", "until", "confidence"}. Dates are ISO 8601 (YYYY-MM-DD); confidence is 0 to 1. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It discloses idempotency, read-only behavior (which matches annotations), error handling (returns error object instead of raising), and output structure. It goes beyond annotations by detailing error responses.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy and includes some redundant statements (e.g., 'Every call is read-only and idempotent' appears twice). However, it is structured with a clear opening and provides comprehensive details, though it could be streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool and the presence of an output schema, the description covers usage, error handling, idempotency, and differentiation from siblings, making it sufficiently complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides descriptions for each parameter, including details on appending observations and deduplication. The tool description adds the idempotency aspect which affects parameter behavior, but not much else.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that it folds new facts into a memory graph and returns the whole graph, using the verb 'fold' as an upsert action. It also identifies it as the single write path for memory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use (single write path) and when not to use, directing to graph_search for reading and graph_diff for change detection. Also mentions idempotency for safe retries.
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.
6 tool updates
- First observed
graph_at_time - First observed
graph_compact - First observed
graph_diff - First observed
graph_lint - First observed
graph_search - First observed
graph_upsert
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity – fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge – works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge – works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Shared long-term memory for AI agents: save and recall context as a searchable knowledge graph.
Personal knowledge graph as an AI memory layer over MCP - read, save, and link your memories.
Persistent, portable memory for AI assistants — your private memory graph, from any MCP client.
Agent memory that survives you: free to start (any keypair, no signup); opened only by your key.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides persistent memory for AI tools by building a local knowledge graph from conversations, enabling cross-session recall and context awareness without cloud dependencies.9MIT
- AlicenseNot gradedqualityDmaintenanceProvides persistent knowledge graph memory for AI agents, enabling them to store, recall, and query facts about people, projects, and relationships across sessions.MIT
- AlicenseNot gradedqualityCmaintenanceEnables storing and querying a personal knowledge graph as a shared memory, allowing agents and tools to remember facts, entities, relations, and recall relevant context via natural language hybrid search.1MIT
- FlicenseNot gradedqualityCmaintenanceProvides AI agents with persistent, local cross-session shared memory by combining vector semantic retrieval with knowledge graph relationships, and supports short/long-term memory management and local backups.-
Glama MCP Gateway
Add one secure layer between your agents and this server.