UseMyContext.ai
The personal context layer for AI.
Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeRead-only
What it can do
- Profile: Return the user's compiled personal context — a compact structured summary of who they are, synthesized from their accepted facts. No file content. Always allowed.
- List Files: List the user's files (metadata only: id, name, size, content-type, modified). Always allowed.
- Search Files: Search the user's files by filename. Returns matching file metadata, ranked by name match. Always allowed.
What data it sees
Do you need an account
No: the server works without sign-in
The personal context layer for AI. You keep one profile of who you are and what you are working on, plus the files that matter, owned by you at usemycontext.ai. Any MCP client reads it, so you never re-introduce yourself to an AI again.
Server tool list (8)
Raw names from tools/list. Only developers need these.
| profile | Return the user's compiled personal context — a compact structured summary of who they are, synthesized from their accepted facts. No file content. Always allowed. |
| list_files | List the user's files (metadata only: id, name, size, content-type, modified). Always allowed. |
| search_files | Search the user's files by filename. Returns matching file metadata, ranked by name match. Always allowed. |
| get_file | 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. |
| ask_docs | 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). Always allowed; read-only. |
| query_table | 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; always allowed. |
| suggest_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. |
| 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. There is no directory or browse; you must already know the saved name / handle / org + member ids. Read-only; always allowed; 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. |