UseMyContext.ai
Server Details
Personal context for AI, written by you and never scraped: your profile and files, any MCP client.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- usemycontext/usemycontext
- GitHub Stars
- 0
- Server Listing
- UseMyContext
Available Tools
13 toolsaccountYour plan and usageARead-onlyInspect
Report the user's current plan and usage: their tier (Free or Premium), how many projects and how much storage they are using against their limits, their subscription status if any, and where they manage their plan. Use this when the user asks what plan they are on, how much storage or how many projects they have used, or whether they are near a limit. Metadata only - no files, facts, or profile content. This is READ-ONLY: you cannot change the plan or start a purchase; plan and billing changes are done by the user themselves at usemycontext.ai. Read-only; nothing is written, so it is safe to call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| tier | Yes | The user's effective plan. |
| usage | Yes | |
| limits | Yes | |
| upgradeUrl | Yes | Where the user manages their plan and billing. |
| currentPeriodEnd | No | The current billing-period end (ms epoch), when known. |
| subscriptionStatus | No | The Stripe subscription status, when the user has a subscription. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces and expands on this by stating it is READ-ONLY, cannot change the plan or start a purchase, and that plan/billing changes are done by the user at usemycontext.ai. It adds meaningful behavioral context about side-effect safety 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 front-loaded with the core purpose and use cases, and it provides useful exclusions and safety context. However, it is slightly redundant, repeating the read-only message multiple times ('This is READ-ONLY', 'Read-only; nothing is written'), which adds unnecessary 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?
With zero parameters and an output schema present, the description covers everything an agent needs: what the tool does, when to use it, what it excludes, and its side-effect profile. The inclusion of the user-facing management URL adds practical context for follow-up actions.
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 tool has zero parameters, so there are no parameter semantics for the description to clarify. Since no parameter documentation is needed, the baseline of 4 applies; the description appropriately focuses on the tool's scope rather than parameters.
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 uses a specific verb ('Report') and names the exact resource: the user's current plan and usage, including tier, projects, storage, subscription status, and plan management location. It also distinguishes itself from siblings by explicitly excluding files, facts, and profile content, making its scope unmistakable.
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 clearly states when to use the tool: when the user asks about their plan, usage against limits, or proximity to a limit. It also gives exclusions ('no files, facts, or profile content'), though it does not name alternative sibling tools explicitly, so it stops short of a full when-not/alternative guide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ask_docsAsk your documentsARead-onlyInspect
Search the user's connected documents by MEANING and return the most relevant passages (the actual text), each cited with its source file, for you to read and quote. Use this to ANSWER a question from the user's documents - it returns grounded source content, not a file link, not a filename list, and not a pre-written answer (you do the reasoning). Before telling the user you do not know something about them or their work, search here first - the answer is often in their documents. Read-only; nothing is written, so it is safe to call.
| Name | Required | Description | Default |
|---|---|---|---|
| k | No | How many passages to return (default 12, max 50). | |
| query | Yes | What to find in the user's documents (a question or topic). | |
| handle | No | Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead. | |
| projectId | No | Optional: which of the user's projects to search - a projectId from list_profiles. Honored only for an account-wide connection; a single-project connection is already scoped and ignores this. |
Output Schema
| Name | Required | Description |
|---|---|---|
| passages | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry readOnlyHint=true and destructiveHint=false, so the safety profile needs no disclosure; the description adds return behavior beyond them — grounded passages with source citations and the division of labor that the agent must do the reasoning. The line 'Read-only; nothing is written, so it is safe to call' restates the annotation rather than adding new behavioral information, which keeps this from a 5.
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?
Four sentences, with the core function and return contract front-loaded in the first sentence and the strongest usage directive (search before claiming ignorance) placed early. The final read-only sentence duplicates the annotations and is the only non-essential content, costing a point against an otherwise economical structure.
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?
With a full output schema, 100% parameter coverage, and read-only annotations, the description only needed to cover selection and invocation judgment, which it does thoroughly: what it returns, when to prefer it over claiming ignorance, and the reasoning obligation on the agent. Nothing an agent needs to decide whether to call this tool correctly is missing.
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?
All four parameters have rich schema descriptions (100% coverage), so the baseline is 3. The description adds one meaningful semantic layer beyond the schema: the query is interpreted 'by MEANING' rather than by keyword, which clarifies how to phrase the query parameter. It adds nothing about k, handle, or projectId, but those are already thoroughly documented in the schema.
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 names a specific verb and resource ('Search the user's connected documents by MEANING') and a concrete return contract ('the most relevant passages... each cited with its source file'). It actively distinguishes itself from siblings with the negative clause 'not a file link, not a filename list, and not a pre-written answer,' which separates it from get_file, list_files, and the other search tools. The title 'Ask your documents' is vague on its own, but the description fully disambiguates it.
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 when-to-use directives: 'Use this to ANSWER a question from the user's documents' and 'Before telling the user you do not know something about them or their work, search here first.' It states what it is not for ('not a file link, not a filename list... you do the reasoning') and the handle parameter names a concrete alternative ('use shared_context instead') for reading context someone else shared, routing the agent away from the wrong tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchFetch a document (deep research)ARead-onlyInspect
Fetch one document's full extracted text by id (a file id from search / search_files / list_files), in the deep-research result shape. ALIAS: this is the SAME read as get_file (same data, same permissions, same audit, same size guard - large files are truncated) - use it when your client requires the id/title/text/url fetch contract (ChatGPT deep research); otherwise prefer get_file, which also serves download links and inline images. Read-only; audited.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The document id - a file id from search, search_files, or list_files. | |
| handle | No | Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead. | |
| projectId | No | Optional: which of the user's projects holds the file. Honored only for an account-wide connection; a single-project connection is already scoped and ignores this. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | The requested file id. |
| url | Yes | Where the user manages this file (the usemycontext.ai Storage page). |
| text | Yes | The file's full extracted text (truncated at the same size guard as get_file). |
| title | Yes | The file's name. |
| metadata | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already include readOnlyHint=true and destructiveHint=false. The description adds valuable behavioral context: it states the tool is read-only, audited, and that large files are truncated. It also notes that permissions and audit are the same as get_file, fully leveraging the annotations while adding critical details.
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 the core purpose. It is slightly lengthy due to thorough comparisons and edge-case explanations, but every sentence adds value. A perfect 5 would be more succinct while retaining clarity.
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 (3 params, 100% schema coverage, output schema present, and annotations), the description is remarkably complete. It covers the tool's behavior, limitations (truncation), relationship to sibling, and usage context. No gaps remain.
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 description coverage is 100%, so baseline is 3. The description adds meaningful nuance beyond the schema: it explains the handle parameter's behavior (honored only for account-wide connections, precedence over projectId) and the conditionality of projectId. This extra context justifies a score of 4.
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 fetches one document's full extracted text by id, specifically for the deep-research result shape. It distinguishes itself from the sibling get_file by noting it is the same read but with a different output contract, making the purpose unambiguous.
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 guidance on when to use this tool vs. the alternative: use fetch when the client requires the id/title/text/url fetch contract (ChatGPT deep research); otherwise prefer get_file. It also notes the alias relationship, giving clear context for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fileOpen a fileARead-onlyInspect
Get the full text content of one file by id (large files are truncated; use ask_docs for targeted passages). Binary files (images etc.) return a short-lived download link instead. Audited.
| Name | Required | Description | Default |
|---|---|---|---|
| fileId | Yes | The id of the file to fetch. | |
| handle | No | Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead. | |
| projectId | No | Optional: which of the user's projects holds the file. Honored only for an account-wide connection; a single-project connection is already scoped and ignores this. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| content | No | The file's extracted text. Absent for a binary or image file. |
| truncated | No | True when the text was truncated at the size guard. |
| contentType | Yes | |
| downloadUrl | No | A short-lived download link (valid about 5 minutes). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses truncation for large files, download links for binary files, and auditing. Adds meaningful context beyond annotations (readOnlyHint, destructiveHint), with no contradictions.
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?
Two sentences, front-loaded with core purpose, no wasted words. Each sentence adds distinct value.
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 return types, truncation, binary file handling, and auditing. Given output schema exists and annotations are rich, description is fully complete for this 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?
Schema coverage is 100%, so description does not need to add much. It only briefly mentions fileId usage without additional syntax or format details. Adequate but not enriching.
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?
Clearly states the tool gets full text content of a file by ID, distinguishes from sibling 'ask_docs' for targeted passages. Also specifies behavior for binary files and audits.
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?
Explicitly tells when to use (get full content) vs ask_docs (targeted passages), notes truncation for large files, and mentions auditing. Provides clear context for alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
infoAbout UseMyContextARead-onlyInspect
Explain what UseMyContext is, what this connection can and cannot do, and where the user goes to manage their account. Call this when the user asks what UseMyContext is, what you (the AI) can do with this connection, or where to find pricing, plans, billing, teams, or settings. IMPORTANT: this connection is READ-ONLY - you cannot create/rename/delete a profile, change privacy, manage the plan or billing, set up a team, invite teammates, or connect Google Drive/Notion/kDrive; those are done by the user at usemycontext.ai, so point them to the returned links rather than attempting them or telling them to search. Returns static public information only (no user data). Read-only; nothing is written, so it is safe to call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| docs | Yes | Live links to pricing, docs, and account settings to hand the user. |
| llmsTxt | Yes | The public llms.txt feed for UseMyContext (marketing content, not user data). |
| product | Yes | A one-line description of UseMyContext. |
| capabilities | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond the readOnlyHint annotation by detailing concrete limitations: cannot create/rename/delete profiles, change privacy, manage billing, set up teams, invite teammates, or connect third-party services. It also discloses that it returns static public information only and no user data, and reassures that nothing is written. This gives the agent a complete safety and behavior profile.
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 with a clear opening purpose, explicit trigger conditions, an IMPORTANT limitations section, and a return-safety note. It is slightly redundant at the end ('Read-only; nothing is written' repeats earlier statements), but the information is front-loaded and each section earns its place.
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?
For a zero-parameter, read-only informational tool with an output schema and readOnlyHint annotation, the description is complete: it states the purpose, when to use it, what not to attempt, where to redirect users, and what kind of data it returns. Nothing essential is missing for an agent to select and invoke it 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 tool has no parameters, so the baseline of 4 applies. The description does not need to explain parameter semantics because there are none; it instead clarifies what information the tool returns, which is the relevant semantic content for this no-input tool.
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 uses a specific verb ('Explain') and names the exact resources covered: what UseMyContext is, what the connection can and cannot do, and where to manage the account. This clearly differentiates it from siblings like account, profile, or suggest_update by emphasizing it is informational and read-only.
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 call: 'Call this when the user asks what UseMyContext is, what you (the AI) can do with this connection, or where to find pricing, plans, billing, teams, or settings.' It also gives clear negative guidance: the AI cannot perform account/admin actions and should instead point the user to returned links. This provides both inclusion and exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_filesList your filesARead-onlyInspect
List the user's files (metadata only: id, name, size, content-type, modified, status). Each file's status shows its readiness: 'available' means get_file can read it right now, and a just-processed file can take up to about a minute more to become searchable via ask_docs (queueEtaSeconds, when present, estimates the remaining wait). Read-only; nothing is written, so it is safe to call.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | No | Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead. | |
| projectId | No | Optional: which of the user's projects to list files from - a projectId from list_profiles. Honored only for an account-wide connection; a single-project connection is already scoped and ignores this. |
Output Schema
| Name | Required | Description |
|---|---|---|
| files | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses that the operation is metadata-only, that nothing is written, and that file status includes a readiness delay with queueEtaSeconds for recently processed files. It also explicitly says it is safe to call, reinforcing the read-only behavior with useful operational detail.
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 two tight sentences: the first front-loads the core purpose and output fields, and the second explains status semantics and safety. Every sentence contributes meaning, with no filler or repetition of schema details.
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 is complete given the rich input schema, output schema, and annotations. It covers the return scope, status interpretation, related tool behavior, and safety profile, leaving no critical guidance missing for an agent to select and invoke the tool 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?
Schema description coverage is 100%, with both handle and projectId thoroughly documented in the input schema. The tool description adds no parameter-specific meaning, so it receives the baseline score for relying on the schema rather than compensating for any gaps.
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 states a specific verb ('List'), a clear resource ('the user's files'), and a precise scope ('metadata only: id, name, size, content-type, modified, status'). It also distinguishes itself from related tools by referencing get_file for reading content and ask_docs for searchability, making the tool's role unambiguous.
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 clear context: list_files is for viewing metadata and status, while get_file reads the actual content and ask_docs handles search readiness. It does not explicitly list exclusions or say 'use this instead of search_files,' but the intended usage is clear and no misleading guidance is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_profilesList your profilesARead-onlyInspect
List the user's own profiles (their projects). Returns metadata only for each profile: its projectId, its name, its public @handle, its privacy status (private, shared, network, public, or org), and whether it is the one THIS connection reads by default. Use it when the user asks how many profiles they have, what their profiles are called, or which profile you are connected to - and whenever another tool needs a projectId to target a specific profile, because each entry carries its projectId. Do NOT use it to read the user's context, to learn about them, or to set them up with UseMyContext - the profile tool does all three. No file content, no facts, no compiled context. Read-only; nothing is written, so it is safe to call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| profiles | Yes | |
| activeProjectId | Yes | The projectId this connection reads by default (matches the active profile). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reinforces the readOnlyHint annotation by stating 'Read-only; nothing is written, so it is safe to call.' It also adds beyond annotations by disclosing that only metadata is returned—no file content, facts, or compiled context—which gives the agent a precise model of the tool's behavior.
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 somewhat long but every sentence adds actionable content: purpose, return metadata, use cases, exclusions, and safety. The no-content phrasing ('No file content, no facts, no compiled context') slightly repeats the 'metadata only' point, but the structure is otherwise efficient and 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?
For a parameterless, read-only tool with an output schema, the description is fully complete. It tells the agent exactly what the tool returns, when to invoke it, when to avoid it, and which sibling to use instead. No critical information is missing.
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 tool has zero parameters, so there is no parameter documentation burden. The schema's coverage is effectively 100% with an empty properties object, and the description appropriately focuses on behavior and output rather than parameters.
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 states a specific verb and resource: it lists the user's own profiles and specifies the exact metadata fields returned. It also explicitly differentiates from the sibling 'profile' tool, making it impossible to confuse the two.
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 clear when-to-use cases: counting profiles, naming profiles, identifying the connected profile, and supplying projectId to other tools. It explicitly says when NOT to use it, pointing to the 'profile' tool for reading context or setting up UseMyContext.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
profileYour profileARead-onlyInspect
Return the user's compiled personal context - a compact structured summary of who they are, synthesized from their accepted facts. Call it at the start of any conversation that involves the user personally, to ground who they are. This is ALSO the tool that sets a user up with UseMyContext: call it when they say 'set me up with UseMyContext', 'get me started', 'get to know me', 'onboard me', or otherwise ask you to learn about them. On a brand-new or empty profile the reply carries the setup instructions to follow; on an established one it carries their context. Do not reach for list_profiles for any of that - it only lists each profile's name, @handle, and privacy status. No file content. Read-only; nothing is written, so it is safe to call. Also reports the profile's privacy status (private, shared, network, public, or org) so you can describe it correctly.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | No | Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead. | |
| projectId | No | Optional: which of the user's profiles (projects) to read - a projectId from list_profiles. Honored only for an account-wide connection; a single-project connection is already scoped and ignores this. |
Output Schema
| Name | Required | Description |
|---|---|---|
| context | Yes | The user's compiled personal context. When no current compilation exists, their raw accepted facts serialized as JSON. |
| privacy | No | A short human-readable explanation of who can read this profile, matching the visibility value. |
| visibility | No | The privacy status of this project's profile. Report it as-is; do not assume a profile is public. |
| profileState | No | Which shape `context` is: 'current' (the compiled composite), 'stale' (raw facts - no current compilation), or 'empty' (the onboarding guidance for an empty account). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behaviors beyond the readOnlyHint annotation: it is read-only and safe to call, returns setup instructions on an empty profile versus context on an established one, contains no file content, and reports privacy status. This adds meaningful operational context without contradicting 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 longer than average but every section earns its place: core purpose, when to call, onboarding triggers, behavior on empty profiles, sibling differentiation, safety, and privacy output. It is front-loaded with the main verb and resource, and the additional length is justified by the tool's dual-purpose nature.
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?
Despite the tool's dual use and subtle account-wide vs single-project scoping nuance, the description covers usage timing, alternative tools, safety, empty-profile behavior, and output highlights. The output schema exists, so return-value detail does not need to be repeated. Nothing essential for correct invocation is missing.
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 description coverage is 100%, so the input schema already fully documents both handle and projectId, including precedence, scoping behavior, and invalid-handle handling. The tool description itself adds no parameter-level information, but per the baseline for high schema coverage, a 3 is appropriate.
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 specific verb and resource: 'Return the user's compiled personal context - a compact structured summary of who they are.' It clearly distinguishes this from siblings like list_profiles ('it only lists each profile's name, @handle, and privacy status') and shared_context ('To read context someone ELSE shared... use shared_context instead'). Its dual role of onboarding is also explicitly stated.
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?
Gives precise when-to-use guidance: 'Call it at the start of any conversation that involves the user personally' and identifies exact trigger phrases for onboarding ('set me up with UseMyContext', 'get me started', etc.). It also explicitly warns against the wrong alternative ('Do not reach for list_profiles for any of that') and directs users to shared_context for others' context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_tableQuery a table exactlyARead-onlyInspect
Run an EXACT, deterministic query over ONE tabular file (a CSV, or the first table of a spreadsheet/PDF/Word document). Use this instead of ask_docs whenever the question needs COUNTING, SUMMING, AVERAGING, MIN/MAX, FILTERING, or exact row lookups over structured data ('how many rows...', 'total amount by region', 'list orders where status is failed') - semantic search undercounts tables, while this executes over EVERY row and returns exact numbers. Use ask_docs for prose/meaning questions and get_file to read a whole document. The query argument is a JSON object: { select?: [column names to return as raw rows], where?: [{col, op, value}, ...] filters combined with AND - ops eq | neq | contains compare text case-insensitively, gt | gte | lt | lte compare numerically (rows whose cell is not a number are skipped and counted in skippedNonNumeric), groupBy?: 'column' gives one result row per distinct value, aggregates?: [{fn, col}] with fn count | sum | avg | min | max ('col' required except for count), limit?: max raw rows (default 50, max 200) }. Column names match the file's header row case-insensitively. Examples: {"where":[{"col":"status","op":"eq","value":"failed"}],"aggregates":[{"fn":"count"}]} counts failed rows; {"groupBy":"region","aggregates":[{"fn":"sum","col":"amount"}]} totals amount per region; {"select":["name","email"],"where":[{"col":"country","op":"eq","value":"FR"}]} returns the matching rows. If you name a column that does not exist, the error lists the file's real columns - retry with one of those. Read-only; nothing is written, so it is safe to call.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The constrained query object (grammar in the tool description): select?, where?, groupBy?, aggregates?, limit?. | |
| fileId | Yes | The id of the file to query (from list_files / search_files - the same id get_file takes). | |
| handle | No | Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead. | |
| projectId | No | Optional: which of the user's projects holds the file. Honored only for an account-wide connection; a single-project connection is already scoped and ignores this. |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | No | Raw matching rows (select mode). Either rows or groups is present, never both. |
| groups | No | Aggregate rows (aggregate / groupBy mode). |
| columns | Yes | |
| truncated | Yes | True when rows/groups were clipped by a cap. |
| tableSource | Yes | Whether the rows came from a native CSV parse or an extracted document table. |
| rowCountTotal | Yes | Total data rows in the table. |
| rowCountMatched | Yes | Rows that passed the where filter. |
| skippedNonNumeric | No | Cells skipped as non-numeric during a numeric comparison or aggregate (present only when > 0). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint=true annotation, the description discloses deterministic full-scan semantics ('executes over EVERY row and returns exact numbers'), case-insensitive column and text matching, and that non-numeric cells are skipped and counted in skippedNonNumeric. It also reveals error-recovery behavior (invalid columns produce an error listing the real columns) and the default/max row limits. No contradiction with 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?
Long but dense and front-loaded: purpose and sibling routing lead, the grammar is compressed into one structured JSON sketch, and three examples illustrate real invocations. Every sentence earns its place, including the error-recovery and safety notes; the only mild redundancy is reaffirming read-only, which functions as a deliberate safety emphasis.
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?
For a tool with a nested query object, 7 operators, and 5 aggregate functions, the description covers file-format scope, full query grammar, operator semantics, limits, error behavior, and safety; the output schema covers return values, and handle/projectId semantics are thoroughly documented in the schema itself. Nothing an agent needs to invoke it correctly is missing.
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?
With 100% schema coverage the baseline is 3, but the description carries the full query grammar that the schema explicitly defers to ('grammar in the tool description'): select/where/groupBy/aggregates/limit, per-operator semantics (eq|neq|contains case-insensitive; gt|gte|lt|lte numeric), the count exemption from col, and the default 50/max 200 limit — plus three concrete examples. It adds far more meaning than the schema's stub descriptions.
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?
States a specific verb and resource — 'Run an EXACT, deterministic query over ONE tabular file' — and names the covered formats (CSV, first table of spreadsheet/PDF/Word). It explicitly contrasts with ask_docs ('semantic search undercounts tables') and get_file, so an agent can distinguish it from siblings without opening any schema.
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?
Gives explicit when-to-use conditions: use it instead of ask_docs whenever the question needs COUNTING, SUMMING, AVERAGING, MIN/MAX, FILTERING, or exact row lookups, with concrete example phrasings ('how many rows...', 'total amount by region'). It also states what the alternatives are for — 'Use ask_docs for prose/meaning questions and get_file to read a whole document' — leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch (deep research)ARead-onlyInspect
Search the user's files by filename and return matching documents in the deep-research result shape. ALIAS: this is the SAME search as search_files (same data, same permissions) - use it when your client requires the id/title/url search contract (ChatGPT deep research); otherwise prefer search_files for richer file metadata. Each result's id can be passed to fetch (or get_file) to read that document. Read-only; nothing is written, so it is safe to call.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Filename query to match. | |
| handle | No | Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead. | |
| projectId | No | Optional: which of the user's projects to search - a projectId from list_profiles. Honored only for an account-wide connection; a single-project connection is already scoped and ignores this. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with annotations (readOnlyHint=true, destructiveHint=false) and adds useful behavioral context: it is the same search as search_files with the same permissions, is read-only, and returns result ids that can be passed to fetch or get_file. This goes beyond the structured annotations and clarifies side effects precisely.
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 front-loaded with the primary purpose, then efficiently covers alias identity, invocation criteria, result usage, and safety in a few dense but relevant sentences. No filler or redundant restatement of the schema exists.
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?
For a search tool with three parameters and an output schema, the description fully covers how to invoke it, when to prefer siblings, how scoping works, and what to do with results. Given the annotations and schema already present, nothing necessary for correct use is missing.
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?
Although the schema already covers 100% of parameters, the description adds valuable semantic detail: handle takes precedence over projectId, both are honored only for account-wide connections, invalid handles are refused outright, and shared_context is the alternative for others' shared content. This meaningfully enriches 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?
States a specific verb ('Search'), resource ('user's files'), and scope ('by filename'), and defines the output contract ('deep-research result shape'). It also distinguishes itself from search_files by explicitly labeling this the same search with a different result contract, so an agent can differentiate siblings immediately.
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?
Provides explicit when-to-use guidance: use this tool when the client requires the id/title/url search contract, otherwise prefer search_files for richer metadata. It also explains handle/projectId scoping behavior and directs shared-context access to shared_context, leaving no ambiguity about alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_filesSearch your filesARead-onlyInspect
Search the user's files by filename. Returns matching file metadata (including each file's processing status), ranked by name match. Read-only; nothing is written, so it is safe to call.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Filename query to match. | |
| handle | No | Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead. | |
| projectId | No | Optional: which of the user's projects to search - a projectId from list_profiles. Honored only for an account-wide connection; a single-project connection is already scoped and ignores this. |
Output Schema
| Name | Required | Description |
|---|---|---|
| files | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint and destructiveHint, and the description reinforces safety with 'nothing is written.' It adds non-obvious behavior beyond annotations: returns processing status, ranks by name match, and refuses an invalid handle outright rather than silently swapping profiles.
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?
Three sentences cover purpose, return value, and safety. The information is front-loaded and each sentence earns its place with no filler or repetition.
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?
With an output schema present and detailed parameter descriptions, the description explains the tool's purpose, result contents, ordering, and safety. It also discloses edge-case behavior for invalid handles, giving an agent everything needed to decide whether to call it.
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 description coverage is 100%, with query, handle, and projectId each fully documented including precedence and scoping behavior. The tool description itself adds no parameter-level information beyond what the schema already provides, so the baseline of 3 applies.
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 states a specific verb and resource: 'Search the user's files by filename.' It also explains what is returned (file metadata including processing status, ranked by name match), which clearly distinguishes it from sibling tools like search, list_files, and get_file.
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 main description implies usage by scoping to the user's files, and the handle parameter explicitly says to use shared_context instead when reading someone else's shared context. It does not explicitly contrast with list_files or search, but the scoping and alternative routing provide clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_updateSuggest a profile updateAInspect
Suggest an update to the user's saved context (something you learned about them). It is saved as a PENDING suggestion for the user to review and accept or ignore - it does NOT directly change their profile, and nothing is ever written to their files. When a conversation has surfaced something new and durable about the user and is wrapping up (the user says thanks, goodbye, or that's all, or the task completes), offer to save it here before the context is lost.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | No | Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead. | |
| projectId | No | Which of the user's profiles the suggestion belongs to - a projectId from list_profiles. Optional: on an account-wide connection, omitting it files the suggestion into the user's active profile (the result names it); pass a projectId to target a different profile. A single-project connection is already scoped and ignores this. | |
| suggestion | Yes | The proposed fact or update about the user, in one short sentence. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | The pending suggestion's id. |
| status | Yes | Always pending: the suggestion awaits the user's review. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations only convey readOnlyHint=false, but the description adds critical behavioral nuance: the update is pending, does not directly change the profile, and never modifies user files. This is exactly the non-obvious behavior an agent needs to understand before calling the tool.
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 focused and efficiently opens with the action and its pending, non-destructive nature, then gives the concrete usage window. No filler or redundant elaboration is present.
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 purpose, the exact trigger moment, the safety model, and what is not affected, and the output schema exists so return values need no elaboration. An agent has enough to know when to use this tool and what outcome to expect.
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 description coverage is 100%, and each parameter is already well documented with its own description. The tool description adds behavioral context but does not add beyond the parameter schemas, so a baseline of 3 is appropriate.
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 what the tool does: it proposes a profile update for the user to review, not a direct change. This distinguishes it sharply from direct update or write tools and conveys an actionable resource and outcome.
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 specifies when to use it: when a conversation surfaces new durable user information and is wrapping up with thanks, goodbye, or task completion. It also contrasts with shared_context for reading others' shared context, giving the agent clear routing guidance.
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 tool update
- Changed
shared_context1 field changed- changed
Input schema / properties / handle / descriptionPrevious value: -"NETWORK read: a UseMyContext project's public @handle (with or without the leading @) whose context you want to pull. Each @handle addresses ONE specific project, so the handle alone identifies what to read - there is no separate project argument. The owner must have opened that project to the network. You must already know the handle - there is no directory."New value: +"NETWORK read: a UseMyContext project's public @handle (with or without the leading @) whose context you want to pull. Each @handle addresses ONE specific project, so the handle alone identifies what to read - there is no separate project argument. The owner must have opened that project to the network. Public-visibility profiles are listed with their handles at https://usemycontext.ai/directory; for anything else you must already know the handle."
1 tool update
- Changed
profile1 field changed- added
Output schema / properties / profileStateAdded value: +{ + "description": "Which shape `context` is: 'current' (the compiled composite), 'stale' (raw facts - no current compilation), or 'empty' (the onboarding guidance for an empty account).", + "enum": [ + "current", + "stale", + "empty" + ], + "type": "string" +}
2 tool updates
- Changed
list_files2 fields changed- added
Output schema / properties / files / items / properties / queueEtaSecondsAdded value: +{ + "description": "Present only while the file is queued for processing: the estimated seconds until it becomes searchable.", + "type": "integer" +} - added
Output schema / properties / files / items / properties / statusAdded value: +{ + "description": "Processing readiness. 'available' = readable now via get_file; a just-available file can take up to about a minute more before ask_docs can search it.", + "enum": [ + "not-processed", + "processing", + "available", + "error" + ], + "type": "string" +}
- Changed
search_files2 fields changed- added
Output schema / properties / files / items / properties / queueEtaSecondsAdded value: +{ + "description": "Present only while the file is queued for processing: the estimated seconds until it becomes searchable.", + "type": "integer" +} - added
Output schema / properties / files / items / properties / statusAdded value: +{ + "description": "Processing readiness. 'available' = readable now via get_file; a just-available file can take up to about a minute more before ask_docs can search it.", + "enum": [ + "not-processed", + "processing", + "available", + "error" + ], + "type": "string" +}
9 tool updates
- Changed
ask_docs1 field changed- added
Input schema / properties / handleAdded value: +{ + "description": "Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead.", + "type": "string" +}
- Changed
fetch1 field changed- added
Input schema / properties / handleAdded value: +{ + "description": "Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead.", + "type": "string" +}
- Changed
get_file1 field changed- added
Input schema / properties / handleAdded value: +{ + "description": "Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead.", + "type": "string" +}
- Changed
list_files1 field changed- added
Input schema / properties / handleAdded value: +{ + "description": "Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead.", + "type": "string" +}
- Changed
profile1 field changed- added
Input schema / properties / handleAdded value: +{ + "description": "Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead.", + "type": "string" +}
- Changed
query_table1 field changed- added
Input schema / properties / handleAdded value: +{ + "description": "Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead.", + "type": "string" +}
- Changed
search1 field changed- added
Input schema / properties / handleAdded value: +{ + "description": "Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead.", + "type": "string" +}
- Changed
search_files1 field changed- added
Input schema / properties / handleAdded value: +{ + "description": "Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead.", + "type": "string" +}
- Changed
suggest_update1 field changed- added
Input schema / properties / handleAdded value: +{ + "description": "Optional: name one of the user's OWN profiles by its public @handle (with or without the leading @), as listed by list_profiles - an alternative to projectId, and it takes precedence if both are given. Honored only for an account-wide connection; a single-project connection is already scoped and ignores it. A handle that is not one of the user's own profiles is refused outright, never quietly swapped for another profile. To read context someone ELSE shared with the user or published, use shared_context instead.", + "type": "string" +}
1 tool update
- Changed
suggest_update1 field changed- changed
Input schema / properties / projectId / descriptionPrevious value: -"Which of the user's profiles the suggestion belongs to - a projectId from list_profiles. REQUIRED for an account-wide connection; a single-project connection is already scoped and ignores this."New value: +"Which of the user's profiles the suggestion belongs to - a projectId from list_profiles. Optional: on an account-wide connection, omitting it files the suggestion into the user's active profile (the result names it); pass a projectId to target a different profile. A single-project connection is already scoped and ignores this."
11 tool updates
- Added
account - Changed
ask_docs1 field changed- added
Input schema / properties / projectIdAdded value: +{ + "description": "Optional: which of the user's projects to search - a projectId from list_profiles. Honored only for an account-wide connection; a single-project connection is already scoped and ignores this.", + "type": "string" +}
- Added
fetch - Changed
get_file1 field changed- added
Input schema / properties / projectIdAdded value: +{ + "description": "Optional: which of the user's projects holds the file. Honored only for an account-wide connection; a single-project connection is already scoped and ignores this.", + "type": "string" +}
- Added
info - Changed
list_files1 field changed- added
Input schema / properties / projectIdAdded value: +{ + "description": "Optional: which of the user's projects to list files from - a projectId from list_profiles. Honored only for an account-wide connection; a single-project connection is already scoped and ignores this.", + "type": "string" +}
- Added
list_profiles - Changed
profile3 fields changed- added
Input schema / properties / projectIdAdded value: +{ + "description": "Optional: which of the user's profiles (projects) to read - a projectId from list_profiles. Honored only for an account-wide connection; a single-project connection is already scoped and ignores this.", + "type": "string" +} - added
Output schema / properties / privacyAdded value: +{ + "description": "A short human-readable explanation of who can read this profile, matching the visibility value.", + "type": "string" +} - added
Output schema / properties / visibilityAdded value: +{ + "description": "The privacy status of this project's profile. Report it as-is; do not assume a profile is public.", + "enum": [ + "private", + "shared", + "network", + "public", + "org" + ], + "type": "string" +}
- Added
search - Changed
search_files1 field changed- added
Input schema / properties / projectIdAdded value: +{ + "description": "Optional: which of the user's projects to search - a projectId from list_profiles. Honored only for an account-wide connection; a single-project connection is already scoped and ignores this.", + "type": "string" +}
- Changed
suggest_update1 field changed- added
Input schema / properties / projectIdAdded value: +{ + "description": "Which of the user's profiles the suggestion belongs to - a projectId from list_profiles. REQUIRED for an account-wide connection; a single-project connection is already scoped and ignores this.", + "type": "string" +}
8 tool updates
- First observed
ask_docs - First observed
get_file - First observed
list_files - First observed
profile - First observed
query_table - First observed
search_files - First observed
shared_context - First observed
suggest_update
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
Person-owned AI memory that learns, not just stores — portable context for any MCP client.
Your versioned memory across every AI tool — context maps, personal memory, and tasks over MCP.
Cross-AI personal memory. Save once in ChatGPT, recall in Claude, Mistral, Grok, or any MCP client.
shared AI-context layer for teams — persistent memory your agents search and update over MCP
Related MCP Servers
- AlicenseAqualityFmaintenanceProvides persistent personal context (identity, projects, decisions, knowledge) to MCP-compatible AI tools, eliminating the need to re-explain yourself across sessions.2511MIT
- AlicenseAqualityBmaintenanceStores personal context as markdown files and exposes them via MCP for AI assistants to retrieve user preferences, skills, and background.61MIT
- AlicenseNot gradedqualityAmaintenanceAggregates your digital footprint (GitHub, blogs, resume) into a single AI-readable profile and exposes it via MCP tools so AI agents can query your context live.1MIT
- FlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that stores personal context as structured Markdown files with a knowledge graph, enabling AI agents to query identity, devices, servers, and projects on-demand.-
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Most tools have clear boundaries, but fetch/get_file and search/search_files are explicit aliases of each other, creating redundant purposes. account vs info and list_files vs search_files also require careful reading to tell apart, though the descriptions do provide guidance.
The set mixes verb_noun names (list_files, query_table, suggest_update) with standalone nouns (account, info, profile) and bare verbs (fetch, search). The naming is readable and lowercase throughout, but the conventions are not uniform.
Thirteen tools is a reasonable, well-scoped number for a personal-context and document-access server. The two alias pairs add some redundancy but do not make the set feel bloated.
The server covers the core read-only workflows: discovering files, searching semantically, querying tabular data, retrieving full documents, reading profiles, and accessing shared context. Direct profile editing or file mutations are intentionally out of scope for this read-only connection, and suggest_update provides the one sanctioned write path.