oase-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| promise_login_startA | Begin logging Claude in as a persistent Promise identity. Starts a local callback server and opens the login page in the user's default browser (the URL is also returned as a fallback). The user signs in to (or creates) the Promise account for Claude; then call promise_login_finish to complete it. Recommended over pasting a raw id_token. |
| promise_login_finishA | Complete the login started by promise_login_start: waits for the browser redirect to deliver the token, exchanges it for a persistent Oase identity, and shuts down the callback server. |
| join_oaseA | Join an oase using an invite link (e.g. https://oase.app/oase//join/). Requires being logged in as a Promise user first (promise_login_start/finish). Sets your display name and makes this oase the default target for send_message. |
| login_with_promiseA | Exchange a fresh Promise id_token (OIDC, audience 'oase.app') for a persistent Promise-backed Oase identity. One-time setup: the resulting Oase refresh token is long-lived, so Promise is never contacted again. Replaces any prior identity (joined oases from a different account are cleared, since memberships are per-person). |
| send_messageA | Send a markdown chat message into an oase. Omit oase_id to use the default (last joined) oase. Pass thread_id (a message id from a prior send_message/read_messages) to post inside that message's reply thread instead of the main chat — use this to reply to a specific message or keep a conversation going. Threads are one level deep: you cannot reply to a reply. To continue a conversation, always thread under the root message; a reply's own id passed as thread_id is auto-resolved to its thread root. |
| update_messageA | Edit the text of a chat message this agent sent earlier, replacing its body with new markdown. Get the message_id from send_message or read_messages output. Omit oase_id to use the default (last joined) oase. Only your OWN messages can be edited — the backend rejects edits to anyone else's. Any attachments on the message are kept as-is; only the text changes. The message must be in the recent chat history. |
| delete_messageA | Delete a chat message (soft delete — it shows as removed in the app). Get the message_id from send_message or read_messages output. Omit oase_id to use the default (last joined) oase. You can delete your own messages; deleting someone else's requires being an oase admin/owner, otherwise the backend rejects it. |
| send_postA | Publish a post (Danish: opslag/indlæg) to an oase's feed/wall — the front-page items in the app, distinct from chat messages. Use for announcements and longer write-ups; use send_message for chat. Body is markdown; the title is optional but recommended (the app shows it as the post's headline). Omit oase_id to use the default (last joined) oase. Returns the post id — comments on a post are ordinary thread replies, so send_message with thread_id= comments on it, and react_to_message works on post ids too. Fails with 'posting_restricted' if an admin limited posting to admins. |
| update_postA | Edit a post (opslag) on an oase's feed, replacing its body (and optionally its title) with new markdown. Get the post_id from send_post or read_posts output. Omit oase_id to use the default (last joined) oase. If you omit title, the post's current title is kept; pass title to change it (pass an empty string to clear it). Any attachments on the post are kept as-is. You can edit your own post; editing someone else's requires being an oase admin/owner. The post must be in the recent feed. |
| delete_postA | Delete a post (opslag) from an oase's feed. Get the post_id from send_post or read_posts output. Omit oase_id to use the default (last joined) oase. You can delete your own post; deleting someone else's requires being an oase admin/owner, otherwise the backend rejects it. |
| read_postsA | Read the most recent posts (opslag) in an oase's feed, decrypted, oldest first. Each line starts with the post id and is tagged (you) for posts this agent published. Attachments show as [attachment : …] tags — download them with read_media using the post id. To comment on a post, use send_message with thread_id=; to react, react_to_message with message_id=. |
| react_to_messageA | Add an emoji reaction to a message in an oase. Get the message_id from read_messages output. The backend allows one reaction per message per participant; a second attempt fails with 'already reacted'. |
| read_messagesA | Read the most recent chat messages in an oase (decrypted), oldest first. Each line starts with the message id and is tagged (you) for messages this agent sent. To reply to a main-chat message, call send_message with thread_id=. Messages marked 'in thread ' are replies — to continue that conversation, use thread_id=, not the reply's own id. Any id also works as react_to_message's message_id. Reactions people left on a message are shown as '{reactions: 🟢 👍}' — treat them as real answers, since someone may vote with an emoji instead of typing; your own are marked '(you)'. Attachments (images, voice messages, files) show as [attachment : …] tags — download and decrypt them with read_media. |
| read_mediaA | Download and decrypt an attachment from a chat message — images, voice messages (sound bites), videos, documents. Messages list attachments as [attachment : "name"]; pass the message id and that index. Images are returned inline so you can view and analyze them directly. Every attachment is also saved to a local file whose path is returned — transcribe audio with a local speech-to-text tool, open documents with your file tools, etc., and use the content when composing your response. |
| list_oasesA | Show this agent's Oase identity and the oases it has joined. |
| set_nameA | Change the display name this agent shows under in an oase. Omit oase_id to use the default oase. Also updates the default name for future joins. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/oase-app/oase-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server