Gravity
Server Details
Save, search and rescue notes in your Gravity list from Claude, ChatGPT and other AI apps.
- Status
- Healthy
- Uptime
- 95.7% over the last 24 hours
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 14 tools
Each tool has a distinct resource+action, and descriptions actively cross-reference siblings (search vs list_notes, transcribe_audio vs add_voice_note) to steer selection. Two retrieval paths (search, list_notes) and two audio paths still sit close enough that an agent could occasionally misselect, but the boundaries are documented.
Mostly a clean snake_case verb_noun pattern (add_note, append_to_note, archive_note, trash_note, restore_note, rescue_note, list_notes, list_tags, transcribe_audio, upload_audio). The bare verbs 'fetch' and 'search' break the pattern slightly, but overall it reads predictably.
14 tools is well within a healthy range and each maps to a concrete note lifecycle operation. The audio trio (upload_audio, transcribe_audio, add_voice_note) is split sensibly by size/step rather than being redundant.
Full lifecycle is covered: create, read, append/replace-edit, archive/rescue, trash/restore, plus search, tag listing, and audio ingestion. Minor gaps remain: no explicit tag add/remove/rename on existing notes (tags appear to be handled via param or inline text) and no permanent-delete or bulk operations.
Publisher details
- Operator
- Tristan Manchester · Publisher source
- Operator website
- https://www.gravitynotes.app/
- Vendor relationship
- First-party
- Documentation
- Not applicable
- Trust center
- https://www.gravitynotes.app/privacy-policy
- Restrictions
- Not available
Available Tools
14 toolsadd_noteAdd a noteAInspect
Save a new note at the top of the user's Gravity list. Use it for "save this to Gravity", "note that…" or "add a todo". Keep it the user's words; Markdown works (- [ ] for checklists).
Inputs: text (required), tag, request_id. Returns: note, outcome
add_voice_noteAdd a voice noteAInspect
Transcribe a recording (through AssemblyAI) and save it as a new note at the top of the user's Gravity list, the way the app's mic does. Use it for "save this voice memo to Gravity". A tag spoken first with a pause becomes the note's tag; tag sets one instead.
Inputs: tag, keywords, language, audio_url, +2 more. Returns: note, outcome
append_to_noteAdd to a noteAInspect
Add a paragraph to the end of an existing note. The rest of the note stays as it is, and so does its place in the list. If the note should also go back to the top, call rescue_note after.
Inputs: text (required), note_id (required). Returns: note, outcome
archive_noteArchive a noteAIdempotentInspect
Take a note off the list into Archive. Nothing is deleted; rescue_note brings it back.
Inputs: note_id (required). Returns: note, outcome
edit_noteEdit a noteADestructiveInspect
Replace one exact piece of a note's text. old_text must appear exactly once in the current note; include enough surrounding text to make it unique. To rewrite the whole note, pass its full current text (from fetch) as old_text. Example: old_text "- [ ] milk", new_text "- [x] milk" ticks off milk. The note keeps its place in the list; if it should also go back to the top, call rescue_note after.
Inputs: note_id (required), new_text (required), old_text (required). Returns: note, outcome
fetchRead a noteARead-onlyIdempotentInspect
Read one note's full text and details by ID. A very long note comes in parts: while metadata.next_offset is a number, call fetch again with offset set to it. null means you have read to the end.
Inputs: id (required), offset. Returns: id, url, text, title, +1 more
list_notesList notesARead-onlyIdempotentInspect
Browse the list the way the Gravity app shows it: newest or most recently rescued first. Filter by tag, by when notes were created, by state (the list, Archive or Deleted Notes), and optionally by words. Use it for questions like "what did I note last week" or "my idea: notes from September". Each note shows its first 500 characters; call fetch for the rest. Pages with cursor.
Inputs: tag, limit, order, query, +4 more. Returns: notes, next_cursor
list_tagsList tagsARead-onlyIdempotentInspect
The tags on notes in the list (todo, idea, read…) with how many notes use each, most used first.
Inputs: no named parameters. Returns: tags
rescue_noteRescue a noteBInspect
Move a note back to the top of the list, the way swiping right does in the app. Also brings an archived note back to the list.
Inputs: note_id (required). Returns: note, outcome
restore_noteRestore a noteAIdempotentInspect
Take a note out of Deleted Notes and put it back where it was.
Inputs: note_id (required). Returns: note, outcome
searchSearch notesARead-onlyIdempotentInspect
Find notes by their words, parts of words and meaning, the way search in the Gravity app does: the best matches first. Put a tag with its colon in the query (todo: dentist) to search only that tag. Covers the list and Archive, not Deleted Notes. Returns titles and IDs; call fetch for a note's full text. For dates, tags or more text per result, use list_notes.
Inputs: query (required). Returns: results
transcribe_audioTranscribe a recordingARead-onlyIdempotentInspect
Turn speech in a recording into text, in 99 languages. The audio is transcribed by AssemblyAI. A tag spoken first with a pause ("To do, call the bank") comes back written ("todo: call the bank"). To save it as a note in one step, use add_voice_note.
Inputs: keywords, language, audio_url, upload_id, +1 more. Returns: text, seconds, language
trash_noteMove a note to Deleted NotesADestructiveIdempotentInspect
Move a note to Deleted Notes, where the user can restore it. Pass the revision you read so that if the note changed since, Gravity keeps the newer text as a separate note.
Inputs: note_id (required), revision. Returns: note, outcome
upload_audioUpload a recordingARead-onlyInspect
Get a link to upload a recording that's over 2 MB and isn't already online, up to 100 MB. PUT the file's bytes to upload_url (e.g. curl -T memo.m4a '<upload_url>'), then pass upload_id to transcribe_audio or add_voice_note. The link works for 15 minutes; the upload_id for a day. The recording is deleted once it's transcribed.
Inputs: no named parameters. Returns: method, example, max_bytes, upload_id, +2 more
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Your own memory inside ChatGPT and Claude, with the source of every note.
Long-term memory for Claude, ChatGPT, Cursor: search, save and organize notes, links, docs, videos.
Portable AI memory you own. Keep memories and notes across Claude, ChatGPT, and other AI tools.
Notes and actions in one app. Let Claude or ChatGPT read and update them.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables Claude, Cursor, Windsurf, and autonomous agents to save web pages and notes as persistent memories, then search them using full-text keyword matching and semantic vector recall.414 npmMIT
- FlicenseAqualityBmaintenanceBuilt into the GravityPort desktop app: install it, then Claude or Codex can search your AI library.254 npm14-
- AlicenseCqualityDmaintenanceEnables users to create and save notes in Flomo directly through AI chat interactions using natural language commands. Seamlessly integrates with AI assistants like Claude and Cursor to capture thoughts and information.186 npm17MIT

MyAITwin MCPofficial
FlicenseNot gradedqualityCmaintenancePersonal RAG database and semantic search built from inside your AI chat. Store knowledge, voice, and skills; Claude and ChatGPT create work that sounds like you.-
Glama MCP Gateway
Add one secure layer between your agents and this server.