UseMyContext.ai

io.github.usemycontextPublished by GitHub account usemycontextv1.1.0Updated Oct 27, 2026

Personal context for AI, written by you and never scraped: your profile and files, any MCP client.

VerifiedStreamable HTTPWeb executableFiles & StorageKnowledge & MemoryData & Analytics

Overview

AI-generated overview

Remote MCP server that gives an AI assistant a user-curated personal profile and their own files, with meaning-based document search and exact table queries.

What you can do
  • Read the user's compiled personal context and list their profiles/projects, including privacy status and default profile
  • Explain the service, report plan and usage, and suggest profile updates that stay pending until the user accepts them
  • List and search the user's files by name, and fetch a file's full text, an image, or a short-lived download link
  • Answer questions from connected documents by returning cited passages, and run exact count, sum, filter or lookup queries over one tabular file
  • List and read personal context that other people have shared with the user
When to use it
Useful when you want every AI client to know who the user is and what they are working on without re-explaining it, or when an assistant should answer questions grounded in the user's own uploaded documents and spreadsheets.
Requirements
A remote Streamable HTTP endpoint; no local package or API key. Sign-in is OAuth in the browser, or email plus a one-time code for ChatGPT. A UseMyContext account is needed; the free plan allows 2 projects at 20MB each, Premium is $20/month for 10 projects at 100MB. Optional npx command writes the profile to a local file for tools that do not speak MCP.
Before you install
The connection reads the user's personal profile and uploaded files, and file reads are audited. A long-lived token from the Connect page should be treated like a password and can be revoked there. Profile changes only arrive as pending suggestions the user must approve. Shared contexts expose another person's profile text. Premium is a paid subscription.

Installation

In SourceWeft

  1. Open UseMyContext.ai in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.usemycontext%2Fusemycontext/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "usemycontext-ai": {
      "type": "http",
      "url": "https://mcp.usemycontext.ai/mcp"
    }
  }
}

README

UseMyContext

Your personal context for every AI. Keep one profile of who you are and what you are working on, plus the files that matter, at usemycontext.ai, and the AI you use reads it over MCP. You approve every update: an AI can only suggest a change, and nothing lands until you say yes.

One-click install

Coding tools

  • Claude Code: /plugin marketplace add usemycontext/claude-code-plugin, then /plugin install usemycontext@usemycontext (plugin)
  • Cursor: add the server below to ~/.cursor/mcp.json (plugin)
  • OpenCode: a remote server in opencode.json (plugin)
  • Gemini CLI: gemini extensions install https://github.com/usemycontext/gemini-cli-extension

For tools that read a file at startup instead of speaking MCP, npx usemycontext pull writes your curated profile to a local UMC-CONTEXT.md (how it works). It uses a long-lived token from the Connect page: treat it like a password, and "Disconnect everything" on that page revokes it on the server.

Any other MCP client: add https://mcp.usemycontext.ai/mcp (Streamable HTTP). Sign-in is OAuth in the browser, no API key to copy. Every client step is in the docs.

What you get

  • Projects with their own @handle. Each project has its own profile, facts and files, and a permanent @handle any AI can use to address it, private or public.
  • Share My Context. Share one project's curated profile with someone else, and revoke it any time.
  • You stay in control. AI access leaves a record in your activity feed, and you can revoke any AI from one page; revoking is enforced on the server.

Plans

PlanProjectsStorage per project
Free220MB
Premium, $20/month10100MB

Try it first, no signup: sign in at usemycontext.ai as [email protected] with code 424242, a shared, read-only demo account.

Docs | SDK on npm | What is a context layer?

Source: README.md at commit f64fc8a

Tools

13

profile

Your profile

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.

ParametershandleprojectId

list_profiles

List your profiles

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.

Takes no parameters.

info

About UseMyContext

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.

Takes no parameters.

account

Your plan and usage

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.

Takes no parameters.

list_files

List your files

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.

ParametershandleprojectId

search_files

Search your files

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.

ParametersqueryrequiredhandleprojectId

get_file

Open a file

Get the full text content of one file by id (large files are truncated; use ask_docs for targeted passages). An image returns the picture itself (plus any text read from it at upload); other binary files return a short-lived download link instead. Audited.

ParametersfileIdrequiredhandleprojectId

fetch

Fetch a document (deep research)

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.

ParametersidrequiredhandleprojectId

ask_docs

Ask your documents

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.

ParameterskqueryrequiredhandleprojectId

query_table

Query a table exactly

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.

ParametersqueryrequiredfileIdrequiredhandleprojectId

suggest_update

Suggest a profile update

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.

ParametershandleprojectIdsuggestionrequired

shared_context

Read shared context

List and read curated personal context shared with you. With no arguments, lists who shared what (names + ids only, no content). With a `from` selector (a grantId from that list), returns that person's shared profile text. SAVED BY NAME: if the user has saved a context under a short name, pass `saved` (that exact name) to pull it - the service resolves the name to the real source (a share, a teammate, a @handle, or one of the user's own projects) and re-checks access live every time. If that access is gone (revoked, expired, left the team, or closed), it returns a calm "no longer available" note instead of an error. NETWORK: if you already know a member's project @handle, pass `handle` to pull the context they have opened to the UseMyContext network - their live composite, read-only. Each @handle addresses ONE specific project, so the handle alone identifies what to read. ORGANISATION: if you and another person are members of the same UseMyContext team/organisation on an active team plan, pass `org` (the organisation id) and `member` (that teammate's member id) to read their live composite - their curated context only, never their files or facts. Profiles whose owners set them to public visibility are browsable anonymously at https://usemycontext.ai/directory; for private, shared, network, or team contexts you must already know the saved name / handle / org + member ids. Read-only; nothing is written, so it is safe to call. You only ever see what was shared with you, saved by you, opened to the network, or a teammate's context within your own organisation.

ParametersorgfromsavedhandlememberorgProject

Version history

1
  1. v1.1.0LatestSep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.