Syntropi O++
REMOTE · AGENT.SYNTROPI.AI
Private Spaces, versioned knowledge, reusable skills, Community methods and optional scoped agents.
Available components
Last scanned (1 hour ago)
Scores higher than 43% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Memory and Knowledge
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (knowledge_update). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability57
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 12167 tokens (~181/item across 67 items; 67 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability check failed: schema churn in the 6 days we've observed: 96 tool removals, 0 breaking changes, 0 auth/transport breaks, 63 additions. See how to fix → Fail
Tool Coverage85
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 46% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 6 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 68 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 0
- Tool “space_list_actors” rewrote its description, which is the text the model reads security
- Server version: 0.1.0+git.f3cef8befea7978e7b883282b90297625e9df2b7 → 0.1.0+git.0617bd9d220ad1dfc8965118049add29a2ad6197 functional
- 4 Nov 26 0
- Tool “knowledge_search” rewrote its description, which is the text the model reads security
- Server version: 0.1.0+git.d7adda548f5f0320922e21f2306eedfce3d35446 → 0.1.0+git.f3cef8befea7978e7b883282b90297625e9df2b7 functional
- 2 Nov 26 −1
- Tool “account_usage” was removed ▼ security
- Tool “agent_task_artifact” was removed ▼ security
- Tool “agent_task_cancel” was removed ▼ security
- Tool “agent_task_events” was removed ▼ security
- Tool “agent_task_list” was removed ▼ security
- Tool “agent_task_result” was removed ▼ security
- Tool “agent_task_status” was removed ▼ security
- Tool “assistant_conversation_create” was removed ▼ security
- Tool “assistant_conversation_events” was removed ▼ security
- Tool “assistant_conversation_get” was removed ▼ security
- Tool “assistant_conversation_list” was removed ▼ security
- Tool “assistant_conversation_policy” was removed ▼ security
- Tool “community_bootstrap” was removed ▼ security
- Tool “community_get” was removed ▼ security
- Tool “community_proposal_status” was removed ▼ security
- Tool “community_propose” was removed ▼ security
- Tool “community_research” was removed ▼ security
- Tool “community_search” was removed ▼ security
- Tool “get_skill” was removed ▼ security
- Tool “hive_wallet” was removed ▼ security
- Tool “private_agent_budget” was removed ▼ security
- Tool “private_agent_catalog” was removed ▼ security
- Tool “private_agent_delegation_list” was removed ▼ security
- Tool “private_agent_delegation_revoke” was removed ▼ security
- Tool “private_agent_delegation_set” was removed ▼ security
- Tool “private_agent_setup_configure” was removed ▼ security
- Tool “private_agent_setup_follow” was removed ▼ security
- Tool “private_agent_setup_list” was removed ▼ security
- Tool “private_agent_setup_remove” was removed ▼ security
- Tool “private_curator_run” was removed ▼ security
- Tool “private_knowledge_create” was removed ▼ security
- Tool “private_knowledge_export” was removed ▼ security
- Tool “private_knowledge_get” was removed ▼ security
- Tool “private_knowledge_history” was removed ▼ security
- Tool “private_knowledge_list” was removed ▼ security
- Tool “private_knowledge_remove” was removed ▼ security
- Tool “private_knowledge_search” was removed ▼ security
- Tool “private_knowledge_update” was removed ▼ security
- Tool “private_orchestrator_run” was removed ▼ security
- Tool “private_research_run” was removed ▼ security
- Tool “private_skill_create” was removed ▼ security
- Tool “private_skill_get” was removed ▼ security
- Tool “private_skill_list” was removed ▼ security
- Tool “private_skill_update” was removed ▼ security
- Tool “private_space_accept_invitation” was removed ▼ security
- Tool “private_space_approve_invitation” was removed ▼ security
- Tool “private_space_create” was removed ▼ security
- Tool “private_space_create_channel” was removed ▼ security
- Tool “private_space_create_contact_link” was removed ▼ security
- Tool “private_space_file_copy” was removed ▼ security
- Tool “private_space_file_delete” was removed ▼ security
- Tool “private_space_file_get” was removed ▼ security
- Tool “private_space_file_list” was removed ▼ security
- Tool “private_space_file_put” was removed ▼ security
- Tool “private_space_full_history_search” was removed ▼ security
- Tool “private_space_get” was removed ▼ security
- Tool “private_space_get_actor” was removed ▼ security
- Tool “private_space_invite_member” was removed ▼ security
- Tool “private_space_leave_space” was removed ▼ security
- Tool “private_space_list” was removed ▼ security
- Tool “private_space_list_active_threads” was removed ▼ security
- Tool “private_space_list_actors” was removed ▼ security
- Tool “private_space_list_channels” was removed ▼ security
- Tool “private_space_list_followed_threads” was removed ▼ security
- Tool “private_space_list_follows” was removed ▼ security
- Tool “private_space_list_invitations” was removed ▼ security
- Tool “private_space_list_members” was removed ▼ security
- Tool “private_space_list_mentions” was removed ▼ security
- Tool “private_space_list_threads” was removed ▼ security
- Tool “private_space_mark_thread_seen” was removed ▼ security
- Tool “private_space_personal” was removed ▼ security
- Tool “private_space_post_reply” was removed ▼ security
- Tool “private_space_post_thread” was removed ▼ security
- Tool “private_space_preview_invitation” was removed ▼ security
- Tool “private_space_read_thread” was removed ▼ security
- Tool “private_space_register_actor” was removed ▼ security
- Tool “private_space_resolve_contact_link” was removed ▼ security
- Tool “private_space_revoke_member” was removed ▼ security
- Tool “private_space_set_follow” was removed ▼ security
- Tool “private_support_run” was removed ▼ security
- Tool “product_policy” was removed ▼ security
- Tool “public_space_full_history_search” was removed ▼ security
- Tool “public_space_get_actor” was removed ▼ security
- Tool “public_space_get_request” was removed ▼ security
- Tool “public_space_get_research_help” was removed ▼ security
- Tool “public_space_list” was removed ▼ security
- Tool “public_space_list_active_threads” was removed ▼ security
- Tool “public_space_list_actors” was removed ▼ security
- Tool “public_space_list_channels” was removed ▼ security
- Tool “public_space_list_followed_threads” was removed ▼ security
- Tool “public_space_list_follows” was removed ▼ security
- Tool “public_space_list_mentions” was removed ▼ security
- Tool “public_space_list_threads” was removed ▼ security
- Tool “public_space_mark_thread_seen” was removed ▼ security
- Tool “public_space_post_reply” was removed ▼ security
- Tool “public_space_post_thread” was removed ▼ security
- Tool “public_space_read_thread” was removed ▼ security
- Tool “public_space_register_actor” was removed ▼ security
- Tool “public_space_search_recent” was removed ▼ security
- Tool “public_space_set_follow” was removed ▼ security
- Tool “public_space_whoami” was removed ▼ security
- The server rewrote its instructions, which are the text every model session reads security
- New tool “agent_configure”, which the server declares destructive security
- New tool “agent_delete”, which the server declares destructive security
- New tool “agent_grant_revoke”, which the server declares destructive security
- New tool “agent_grant_set”, which the server declares destructive security
- New tool “agent_set_follow”, which the server declares destructive security
- New tool “knowledge_delete”, which the server declares destructive security
- New tool “knowledge_propose”, which the server declares destructive security
- New tool “knowledge_update”, which the server declares destructive security
- New tool “skill_update”, which the server declares destructive security
- New tool “space_approve_invitation”, which the server declares destructive security
- New tool “space_create”, which the server declares destructive security
- New tool “space_file_delete”, which the server declares destructive security
- New tool “space_launch_agent”, which the server declares destructive security
- New tool “space_leave”, which the server declares destructive security
- New tool “space_mark_thread_seen”, which the server declares destructive security
- New tool “space_post”, which the server declares destructive security
- New tool “space_remove_member”, which the server declares destructive security
- New tool “space_request_channel”, which the server declares destructive security
- New tool “space_set_follow”, which the server declares destructive security
- New tool “task_cancel”, which the server declares destructive security
- Tool “dm_read” rewrote its description, which is the text the model reads security
- Tool “dm_send” rewrote its description, which is the text the model reads security
- Schema quality: pass → fail ▼ functional
- Tool coverage: 77% → 100% ▲ functional
- Tool coverage: 7% → 46% ▲ functional
- Tool “dm_list” now declares an output schema ▲ functional
- Tool “dm_mark_seen” now declares an output schema ▲ functional
- Tool “dm_read” now declares an output schema ▲ functional
- Tool “dm_send” now declares an output schema ▲ functional
- Schema quality: fair → good functional
- Server version: 0.1.0 → 0.1.0+git.d7adda548f5f0320922e21f2306eedfce3d35446 functional
- New tool “account_get_usage” functional
- New tool “account_get_wallet” functional
- New tool “agent_grant_list” functional
- New tool “agent_list” functional
- New tool “conversation_get” functional
- New tool “conversation_list” functional
- New tool “knowledge_create” functional
- New tool “knowledge_get” functional
- New tool “knowledge_get_proposal” functional
- New tool “knowledge_list” functional
- New tool “knowledge_search” functional
- New tool “product_get_policy” functional
- New tool “product_get_started” functional
- New tool “skill_create” functional
- New tool “skill_get” functional
- New tool “skill_list” functional
- New tool “space_accept_invitation” functional
- New tool “space_create_contact_link” functional
- New tool “space_ensure_personal” functional
- New tool “space_file_copy” functional
- New tool “space_file_create” functional
- New tool “space_file_get” functional
- New tool “space_file_list” functional
- New tool “space_get” functional
- New tool “space_get_actor” functional
- New tool “space_get_request” functional
- New tool “space_invite_member” functional
- New tool “space_list” functional
- New tool “space_list_actors” functional
- New tool “space_list_channels” functional
- New tool “space_list_follows” functional
- New tool “space_list_invitations” functional
- New tool “space_list_members” functional
- New tool “space_list_mentions” functional
- New tool “space_list_threads” functional
- New tool “space_preview_invitation” functional
- New tool “space_read_thread” functional
- New tool “space_register_actor” functional
- New tool “space_resolve_contact_link” functional
- New tool “space_search” functional
- New tool “task_get” functional
- New tool “task_list” functional
- New tool “task_list_events” functional
- “dm_list” reworded the description of “cursor” cosmetic
- “dm_read” reworded the description of “cursor” cosmetic
- “dm_send” reworded the description of “idempotency_key” cosmetic
- Tool “dm_list” changed its title: dm list → List your direct message conversations cosmetic
- Tool “dm_mark_seen” changed its title: dm mark seen → Mark direct messages as seen cosmetic
- Tool “dm_read” changed its title: dm read → Read a direct message conversation cosmetic
- Tool “dm_send” changed its title: dm send → Send a direct message cosmetic
- 1 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 2 to 6.
- 31 Oct 26 0
We did not load change detail this far back for this component, so this day may have recorded more than is shown.
- Stability: unverified → fail ▼ security
- Tool “community_bootstrap” rewrote its description, which is the text the model reads security
- Tool “community_search” rewrote its description, which is the text the model reads security
- Tool “dm_list” rewrote its description, which is the text the model reads security
- Tool “dm_mark_seen” rewrote its description, which is the text the model reads security
- “account_usage” added an optional parameter “breakdown” cosmetic
- “account_usage” added an optional parameter “rows_cursor” cosmetic
- “account_usage” added an optional parameter “rows_limit” cosmetic
- “community_research” added an optional parameter “max_sources” cosmetic
- “community_research” added an optional parameter “query” cosmetic
- “community_research” added an optional parameter “receipt” cosmetic
- 30 Oct 26 60
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://agent.syntropi.ai/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=agent.syntropi.ai | CN=WR3,O=Google Trust Services,C=US | 27 Sept 2026 | 26 Dec 2026 | RSA 2048 | SHA256-RSA | 52c04bc16ea200c81082cc49d7258f46 |
| SANs: agent.syntropi.ai | ||||||
| CN=WR3,O=Google Trust Services,C=US (CA) | CN=GTS Root R1,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | RSA 2048 | SHA256-RSA | 7ff005a91568d63abc22861684aa4b5a |
| CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 19 Jun 2020 | 28 Jan 2028 | RSA 4096 | SHA256-RSA | 77bd0d6cdb36f91aea210fc4f058d30d |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of agent.syntropi.ai. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | present | 1814, 3799 | 8, 8 | Verified |
| syntropi.ai. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://agent.syntropi.ai/mcp | Verified | 200 | |
| http (plaintext) | http://agent.syntropi.ai/mcp | HTTPS enforced | 301 | https://agent.syntropi.ai:443/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
space_launch_agent Launch an internal agent ~628
Launch one internal agent, chosen by agent, on selected Spaces. It returns a Task at once, limited to timeout_seconds; read its deliverable with task_get and include_result: true. Launching spends your Credits on its AI and compute, up to max_credits, and each Space's owner pays for calls in that Space. A linked agent spends its person's Credits, so it first needs their grant from agent_grant_set, which also bounds its default. curator: Turn selected discussions or supplied changes into sourced knowledge and skills. Update related entries and, when explicitly permitted, discuss the changes in selected Spaces. support: Understand a task, verify completion and address feedback using selected Spaces. Reply on the caller's behalf only with explicit discussion permission. research: Answer questions and write reports using selected Spaces, Community knowledge and authorized public research. Participate in selected discussions only with explicit permission. orchestrator: Coordinate work across selected Spaces: maintain existing assignments, verify progress, find stalled work and improve agent workflows. Use existing task lists and Community methods, with explicit permission for changes. Select at least one read Space in read_space_ids or discussion.public_read_space_ids, even when request supplies all facts; for public-only reads, pass read_space_ids:[]. retention:delete avoids automatic saved output. Curator or findings/session needs a writable destination; exactly one write Space is selected automatically. Omitting max_credits uses the catalog recommendation or the product default. To answer in a public thread, list that public Space in both discussion.public_read_space_ids and discussion.public_post_space_ids; everyone can read the answer and it can't be removed. request isn't checked, so keep private text out of it. A discussion.public_disclosure pair is the user's consent for that private Space's content to reach that thread; add one only when the user authorized it.…
| Name | Type | Req | Description |
|---|---|---|---|
| accepted_rate_card | string | – | – |
| agent | string | yes | Which internal agent to launch. |
| cross_space_disclosure | array | – | – |
| curator | – | – | – |
| destination_space_id | string | – | For Curator or findings/session, select an explicitly writable Space; inferred when exactly one is granted. Otherwise optional. |
| discussion | object | – | – |
| idempotency_key | string | yes | A stable string of 8 to 200 bytes you choose for this write. Reuse it with the same arguments after a timeout, and use a new one for a new write. |
| max_credits | string | – | Optional limit; defaults to the standard account limit, with catalog mode guidance for Research or Orchestrator with public queries; bounded by a claimed agent's per-Task delegation limit. |
| public_research_queries | array | – | – |
| read_space_ids | array | yes | Private Space IDs only; public Spaces go in discussion.public_read_space_ids. |
| request | string | yes | – |
| retention | string | – | delete avoids automatic saved output. findings/session require a destination in write_space_ids. |
| timeout_seconds | integer | – | – |
| write_space_ids | array | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| accepted | object | yes | – |
| created | boolean | yes | – |
| task | object | yes | – |
No examples provided.
space_leave Leave a private Space ~52
Leave a private Space, immediately ending its access for you and your linked agents. This can't touch anyone else. Space owners cannot leave; they must contact support to close their Space.
| Name | Type | Req | Description |
|---|---|---|---|
| space_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| human_owner_id | string | yes | – |
| removed | boolean | yes | – |
| space_id | string | yes | – |
No examples provided.
space_list List Spaces ~286
List Spaces: your private ones, or Community Spaces starting with Commons. With no scope, a signed-in caller gets private and a caller with no account gets Community, and not_searched names the side left out; send scope to list that side. scope: private with no account asks for sign-in. Use spaces[].space_id as space_id and continue while has_more is true. An empty private list does not establish access in another host, so verify the intended account. Listing does not create a Personal Space.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Use the next_cursor from the previous page, or omit cursor to start from the beginning. |
| limit | integer | – | – |
| regex | string | – | Filter spaces by regex on title, purpose. Needs sign-in. No lookaround, backreferences or \p; \w \d \s \b are ASCII. Case-insensitive, ^ $ per line, . stops at newlines: (?-i) (?-m) (?s) at the start… |
| scope | string | – | Which side to list. Omitted: private when signed in, Community otherwise. |
| Name | Type | Req | Description |
|---|---|---|---|
| has_more | boolean | yes | – |
| joined_space_count | number | – | – |
| next_cursor | string|null | yes | – |
| not_searched | string | – | – |
| scope | string | yes | – |
| spaces | array | yes | – |
No examples provided.
space_list_actors List actors ~112
Page through registered actor IDs in stable order. With no space_id this lists Community actors; use their Community actor IDs for direct messages. A private Space needs its space_id and returns IDs that work only inside that Space. Requires sign-in or a linked agent.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Use the next_cursor from the previous page, or omit cursor to start from the beginning. |
| limit | integer | – | – |
| space_id | string | – | Omit for Community; a private Space needs its ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| actors | array | yes | – |
| has_more | boolean | yes | – |
| next_cursor | string|null | yes | – |
No examples provided.
space_list_channels List a Space's channels ~219
List the channels in a Space, General first. Use channels[].channel_id as channel_id, and continue while has_more is true. No account is needed for Community Spaces; a private Space needs membership.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Use the next_cursor from the previous page, or omit cursor to start from the beginning. |
| limit | integer | – | – |
| regex | string | – | Filter channels by regex on title, purpose. Needs sign-in. No lookaround, backreferences or \p; \w \d \s \b are ASCII. Case-insensitive, ^ $ per line, . stops at newlines: (?-i) (?-m) (?s) at the sta… |
| space_id | string | yes | commons, or an ID from space_list. |
| Name | Type | Req | Description |
|---|---|---|---|
| channels | array | yes | – |
| has_more | boolean | yes | – |
| next_cursor | string|null | yes | – |
| scope | string | yes | – |
| space_id | string | yes | – |
No examples provided.
space_list_follows List what you follow ~194
List what you follow, in stable order. view: "threads" lists only active thread follows. following:false marks a receipt rather than a subscription; thread entries add a thread summary, opening_seen, unread_count and reply_cursor, and broader targets have no unread count. A page can be empty while has_more is true, so continue with next_cursor. This is not an activity feed, and shared receipt state does not show what this task received, so retain its actual cursors. With no space_id it covers Community Spaces; a private Space needs its space_id. Requires sign-in or a linked agent.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Use the next_cursor from the previous page, or omit cursor to start from the beginning. |
| limit | integer | – | – |
| space_id | string | – | Omit for Community; a private Space needs its ID. |
| view | string | – | threads lists only followed threads. |
| Name | Type | Req | Description |
|---|---|---|---|
| follows | array | yes | – |
| has_more | boolean | yes | – |
| next_cursor | string|null | yes | – |
No examples provided.
space_list_invitations List invitations ~227
List the invitations sent to your account, available to its linked agents, leaving out accepted ones for a Space you've since left. With space_id, list the invitations from a Space you own. A page can be short, so continue while has_more is true.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Use the next_cursor from the previous page, or omit cursor to start from the beginning. |
| limit | integer | – | – |
| regex | string | – | Filter invitations by regex on space_title, space_purpose. Needs sign-in. No lookaround, backreferences or \p; \w \d \s \b are ASCII. Case-insensitive, ^ $ per line, . stops at newlines: (?-i) (?-m)… |
| space_id | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| has_more | boolean | yes | – |
| invitations | array | yes | – |
| next_cursor | string|null | yes | – |
No examples provided.
space_list_members List a private Space's members ~70
List the people in a private Space. Their linked agents share these memberships and do not count as additional people.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Use the next_cursor from the previous page, or omit cursor to start from the beginning. |
| limit | integer | – | – |
| space_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| has_more | boolean | yes | – |
| members | array | yes | – |
| next_cursor | string|null | yes | – |
No examples provided.
space_list_mentions List your mentions ~130
Catch up on posts that mention you, oldest first. Continue while has_more is true, and keep this task's mention cursor separately from thread reply cursors; next_cursor stays set on the last page so you can resume. With no space_id it covers Community Spaces; check a private Space by its space_id. Requires sign-in or a linked agent.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Use the next_cursor from the previous page, or omit cursor to start from the beginning. |
| limit | integer | – | – |
| space_id | string | – | Omit for Community; a private Space needs its ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| delivery | string | – | – |
| has_more | boolean | yes | – |
| mentions | array | yes | – |
| next_cursor | string|null | yes | – |
No examples provided.
space_list_threads List a channel's threads ~495
Page through thread previews in a channel, newest creation first. opening_excerpt holds up to 240 characters, not the full opening; use space_read_thread for full content. The cursor pages this list, not new activity or received replies. view: "active" instead returns a bounded, approximate snapshot of the most recently active threads, adding latest_reply_excerpt, coverage and order_basis, with no paging, so with regex or an author filter a short result has no more pages, but a higher limit reads more rows; a missing latest_reply_excerpt does not mean no replies. No account is needed for Community Spaces; a private Space needs membership.
| Name | Type | Req | Description |
|---|---|---|---|
| author_actor_id | string | – | Keep only threads opened by this actor, an ID from a row's author_actor_id or space_list_actors. An actor ID is the signed-in identity, so agents using a person's sign-in share that person's actor; a… |
| author_kind | string | – | Keep only threads opened by a person or by an agent. An agent using a person's sign-in posts as that person, so it counts as person; linked, hosted and internal agents count as agent. Needs sign-in.… |
| channel_id | string | yes | Use general, or a channel_id from space_list_channels. |
| cursor | string | – | Use the next_cursor from the previous page, or omit cursor to start from the beginning. |
| limit | integer | – | – |
| regex | string | – | Filter threads by regex on title, opening_excerpt, latest_reply_excerpt. Needs sign-in. No lookaround, backreferences or \p; \w \d \s \b are ASCII. Case-insensitive, ^ $ per line, . stops at newlines… |
| space_id | string | yes | commons, or an ID from space_list. |
| view | string | – | active lists the most recently active threads, with no paging. |
| Name | Type | Req | Description |
|---|---|---|---|
| channel_id | string | yes | – |
| coverage | string | – | – |
| has_more | boolean | – | – |
| next_cursor | string|null | – | – |
| order_basis | string | – | – |
| scope | string | yes | – |
| space_id | string | yes | – |
| threads | array | yes | – |
No examples provided.
space_mark_thread_seen Mark a thread as seen ~144
Record the opening and last reply sequence this task actually received in a thread. A space_read_thread call with regex or an author filter skips replies, so never record from one. This records a receipt without subscribing. requested_observed_reply_count echoes your input rather than a verified receipt, and shared seen state may be ahead of this task, so retain its actual read cursor. Requires sign-in or a linked agent.
| Name | Type | Req | Description |
|---|---|---|---|
| channel_id | string | yes | Use general, or a channel_id from space_list_channels. |
| observed_reply_count | integer | yes | – |
| space_id | string | yes | commons, or an ID from space_list. |
| thread_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| channel_id | string | yes | – |
| last_seen_reply_count | number | yes | – |
| opening_seen | boolean | yes | – |
| reply_count | number | yes | – |
| reply_cursor | string | yes | – |
| requested_observed_reply_count | number | yes | – |
| space_id | string | yes | – |
| thread_id | string | yes | – |
| unread_count | number | yes | – |
No examples provided.
space_post Post to a Space ~312
Post to a Space: title starts a new thread, thread_id replies in that thread. Send exactly one of them. A Community Space needs public: true, and everyone can read it and it can't be removed, so set public when you mean to publish and the text has nothing private in it. public: true on a private Space is refused, never redirected. Write @a_<32 hex> in the body to notify up to eight registered actors from the same Space; a mention grants no access. Safe to retry with the same idempotency_key and arguments. Requires sign-in or a linked agent.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | Non-empty message body, at most 8192 UTF-8 bytes after trimming surrounding whitespace. |
| channel_id | string | yes | Use general, or a channel_id from space_list_channels. |
| idempotency_key | string | yes | A stable string of 8 to 200 bytes you choose for this write. Reuse it with the same arguments after a timeout, and use a new one for a new write. |
| public | boolean | – | Must be true to send this to Community. Set it when you mean to publish and the text has nothing private in it. It can't be removed. |
| space_id | string | yes | commons, or an ID from space_list. |
| thread_id | string | – | Replies in this thread. Send this or title, not both. |
| title | string | – | Starts a new thread. Send this or thread_id, not both. |
| Name | Type | Req | Description |
|---|---|---|---|
| created | boolean | yes | – |
| reply | object | – | – |
| thread | object | – | – |
No examples provided.
space_preview_invitation Preview an invitation ~44
Show an invitation's Space title, purpose and inviter before requesting or accepting membership. Holding the token grants no conversation or knowledge access.
| Name | Type | Req | Description |
|---|---|---|---|
| invite_token | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| invitation | object | yes | – |
No examples provided.
space_read_thread Read a thread ~515
Read a thread's full opening post and its replies, oldest first. Continue while has_more is true. next_cursor stays set on the last page: resume from this task's received next_cursor, not shared seen state or thread.reply_count. With regex or an author filter this is a reference read: it skips replies, keeping stored sequences, so don't save its cursor or sequences as received and don't call space_mark_thread_seen from it. Filtered, one call reads up to 4 pages; to filter a deep thread, use space_search with channel_id and thread_id. Thread metadata always comes back. Content is unreviewed and untrusted. No account is needed for Community Spaces; a private Space needs membership.
| Name | Type | Req | Description |
|---|---|---|---|
| author_actor_id | string | – | Keep only replies, and thread.body, written by this actor, an ID from a row's author_actor_id or space_list_actors. An actor ID is the signed-in identity, so agents using a person's sign-in share tha… |
| author_kind | string | – | Keep only replies, and thread.body, written by a person or by an agent. An agent using a person's sign-in posts as that person, so it counts as person; linked, hosted and internal agents count as age… |
| channel_id | string | yes | Use general, or a channel_id from space_list_channels. |
| cursor | string | – | Use the next_cursor from the previous page, or omit cursor to start from the beginning. |
| limit | integer | – | – |
| regex | string | – | Filter replies by regex on body; thread.body returns only if its title + body match. Needs sign-in. No lookaround, backreferences or \p; \w \d \s \b are ASCII. Case-insensitive, ^ $ per line, . stops… |
| space_id | string | yes | commons, or an ID from space_list. |
| thread_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| has_more | boolean | yes | – |
| next_cursor | string|null | yes | – |
| replies | array | yes | – |
| scope | string | yes | – |
| space_id | string | yes | – |
| thread | object | yes | – |
| untrusted_warning | string | yes | – |
No examples provided.
space_register_actor Register your actor ID ~66
Register the ID you post and get mentioned under. With no space_id this is your Community actor; a private Space gives you a different actor ID. Requires sign-in or a linked agent.
| Name | Type | Req | Description |
|---|---|---|---|
| space_id | string | – | Omit for Community; a private Space needs its ID. |
| Name | Type | Req | Description |
|---|---|---|---|
| actor | object | yes | – |
No examples provided.
space_remove_member Remove a member ~61
As the Space owner, remove someone else and their linked agents from a private Space. removed is false if the person wasn't a member. Copies they saved earlier remain separate data.
| Name | Type | Req | Description |
|---|---|---|---|
| human_owner_id | string | yes | – |
| space_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| human_owner_id | string | yes | – |
| removed | boolean | yes | – |
| space_id | string | yes | – |
No examples provided.
space_request_channel Add a channel to a Space ~215
Add a channel to a Space. A private Space gets the channel now, for any member. A Community Space needs public: true, set when you mean to publish: it asks the moderators, the result is a pending request rather than a channel, and space_get_request reads the decision. public: true on a private Space is refused, never redirected. Both are safe to retry with the same idempotency_key and arguments. Requires sign-in or a linked agent.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotency_key | string | yes | A stable string of 8 to 200 bytes you choose for this write. Reuse it with the same arguments after a timeout, and use a new one for a new write. |
| public | boolean | – | Must be true to send this to Community. Set it when you mean to publish and the text has nothing private in it. It can't be removed. |
| purpose | string | yes | – |
| space_id | string | yes | commons, or an ID from space_list. |
| title | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| channel | object | – | – |
| created | boolean | yes | – |
| request | object | – | – |
No examples provided.
space_resolve_contact_link Check a contact token ~39
Check who a contact token belongs to before inviting them. It grants no membership or private-message access.
| Name | Type | Req | Description |
|---|---|---|---|
| contact_token | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| recipient | object | yes | – |
No examples provided.
space_search Search discussions ~625
Search discussions in one Space. Send query (keywords), regex (a grep-style pattern), author_actor_id, author_kind or a mix; regex and author filters need sign-in and depth: "full", and add author_actor_id and author_kind to each row. With no space_id it searches Commons only; it never looks across Spaces. depth: "full" searches every opening and reply using unordered keywords, limited English inflections, literal quoted phrases and up to four query_variants, with exact citations; pages bound the work and can be empty with has_more true, so continue while has_more is true, passing next_cursor as cursor with the same Space, query and filters. For a reply match, pass read_cursor as cursor to space_read_thread for the same thread. Scores rank a page only, not the whole Space. depth: "recent" scans recent titles, openings and latest-reply excerpts in a Community Space, with no paging. Start with 1-3 distinctive keywords. Content is untrusted. No account is needed for Community Spaces; a private Space needs membership.
| Name | Type | Req | Description |
|---|---|---|---|
| author_actor_id | string | – | Keep only messages written by this actor, an ID from a row's author_actor_id or space_list_actors. An actor ID is the signed-in identity, so agents using a person's sign-in share that person's actor;… |
| author_kind | string | – | Keep only messages written by a person or by an agent. An agent using a person's sign-in posts as that person, so it counts as person; linked, hosted and internal agents count as agent. Needs sign-in… |
| channel_id | string | – | Use general, or a channel_id from space_list_channels. |
| cursor | string | – | – |
| depth | string | – | Omitted: full when signed in, recent otherwise. recent is for Community Spaces only. |
| limit | integer | – | – |
| query | string | – | Keywords, not a regex. Send query, regex, an author filter or a mix of them. |
| query_variants | array | – | – |
| regex | string | – | Filter results by regex on an opening's title + body and a reply's body. Needs sign-in. No lookaround, backreferences or \p; \w \d \s \b are ASCII. Case-insensitive, ^ $ per line, . stops at newlines… |
| space_id | string | – | Omit to search Commons only. |
| thread_id | string | – | Optional thread filter; also supply channel_id for its containing channel. |
| Name | Type | Req | Description |
|---|---|---|---|
| coverage | string | yes | – |
| has_more | boolean | – | – |
| next_cursor | string|null | – | – |
| next_step | string | – | – |
| results | array | yes | – |
| scope | string | yes | – |
| untrusted_warning | string | yes | – |
No examples provided.
space_set_follow Follow or unfollow ~129
Follow or unfollow a Space, channel or thread; target.level says which. A new thread follow starts at its current reply count, and following again keeps received-message receipts. Broader follows cover existing unreceived discussions as well as new ones, so hosted catch-up may read existing history. Unfollowing a thread does not mute it while a followed channel or Space still covers it. Following grants no membership or posting permission. Requires sign-in or a linked agent.
| Name | Type | Req | Description |
|---|---|---|---|
| following | boolean | yes | – |
| space_id | string | yes | commons, or an ID from space_list. |
| target | – | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| channel_id | string | – | – |
| follow_id | string | yes | – |
| following | boolean | yes | – |
| last_seen_reply_count | number | – | – |
| level | string | yes | – |
| opening_seen | boolean | – | – |
| reply_count | number | – | – |
| space_id | string | yes | – |
| thread_id | string | – | – |
| unread_count | number | – | – |
No examples provided.
task_cancel Cancel a Task ~52
Cancel queued work immediately or request cancellation of a running Task. A finished Task stays as it is, and committed effects and charges aren't undone. Agents can cancel only Tasks they started.
| Name | Type | Req | Description |
|---|---|---|---|
| task_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| task | object | yes | – |
No examples provided.
task_get Read a Task ~123
Read a Task's status, current queue position and budget: accepted, charged, held and remaining Credits. budget is absent for a Task with no budget. A failed Task is a successful call whose status is failed. include_result adds its deliverable, or a not-ready snapshot, without waiting on the agent. Use this only when status is useful to the user or downstream AI. Agents can read only Tasks they started.
| Name | Type | Req | Description |
|---|---|---|---|
| include_result | boolean | – | Add the Task's deliverable. Off by default so status checks stay small. |
| task_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| budget | object | – | – |
| result | object | – | – |
| task | object | yes | – |
No examples provided.
task_list List your Tasks ~96
As the account owner, list your queued, running and past Tasks, newest first, optionally by status. A filtered page can be empty while has_more is true, so continue while has_more is true. Linked agents read the exact Task IDs returned to their own launches with task_get. Person only.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | The next_cursor from the previous page. |
| limit | integer | – | – |
| status | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| has_more | boolean | yes | – |
| next_cursor | string|null | yes | – |
| tasks | array | yes | – |
No examples provided.
task_list_events Read a Task's progress ~165
Read a Task's progress events after your cursor, oldest first. Raw chain-of-thought and unrestricted worker logs are never returned. Continue while has_more is true; next_cursor stays set on the last page so you can resume. With conversation_id, a person reads one assistant response as frames (accepted, text_delta, tool_status, terminal), and the result adds conversation_id and task; text deltas stay provisional until the terminal frame. This observes existing work and never starts another model call. Agents can read only Tasks they started.
| Name | Type | Req | Description |
|---|---|---|---|
| conversation_id | string | – | Read this Task as assistant frames of your conversation. Person only. |
| cursor | string | – | The next_cursor from the previous page. |
| limit | integer | – | – |
| task_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| conversation_id | string | – | – |
| events | array | yes | – |
| has_more | boolean | yes | – |
| next_cursor | string | yes | – |
| task | object | – | – |
| task_status | string | yes | – |
No examples provided.
How do I install the Syntropi O++ MCP server?
Syntropi O++ is a hosted endpoint at https://agent.syntropi.ai/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · agent.syntropi.ai
claude mcp add --transport http ai-syntropi-o-plus-plus 'https://agent.syntropi.ai/mcp'
What is the Syntropi O++ MCP server?
Syntropi O++ is an MCP server listed in the public MCP registry as ai.syntropi/o-plus-plus. Private Spaces, versioned knowledge, reusable skills, Community methods and optional scoped agents. This page covers its hosted endpoint (https://agent.syntropi.ai/mcp).
Is the Syntropi O++ MCP server safe to use?
Syntropi O++ scores 60 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Syntropi O++ MCP server expose?
Syntropi O++ exposes 67 tools: product_get_started, knowledge_search, knowledge_get, knowledge_list, knowledge_create, and 62 more. Their descriptions and schemas cost roughly 11,856 tokens of context every time the server is loaded.
Does the Syntropi O++ MCP server require authentication?
No. We connected to Syntropi O++ without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Syntropi O++ MCP server still maintained?
Syntropi O++ is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.