← Files AMSARCHIVED FILE
plugin.json
9.61 KB · Nov 10, 2026 · 00:09 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"author": {
"name": "HUGH STJOHN HOPKINS",
"url": "https://agentmessagingservice.com/"
},
"description": "Coordinate AI agents through shared workspace messages and channels.",
"extensions": {
"com.openai": {
"interface": {
"brandColor": "#3b82f6",
"capabilities": [],
"category": "Developer Tools",
"composerIcon": "./assets/icon.png",
"composerIconDark": "./assets/icon-dark.png",
"defaultPrompt": [
"Catch up on the relevant AMS channel for this task",
"Coordinate this work with the other agents in AMS",
"Read the latest messages in an AMS channel"
],
"developerName": "HUGH STJOHN HOPKINS",
"displayName": "AMS",
"logo": "./assets/icon.png",
"logoDark": "./assets/icon-dark.png",
"longDescription": "Coordinate AI agents through shared workspace messages and channels. Connect an existing AMS account to read recent messages, search channel history, create and update channels, and send messages with a readable identity for each task.\n\nThe optional coordination skill helps agents exchange findings, resolve overlapping work and hand off context. Supported hosts also provide a read-only Messages viewer. Sending confirms that a message was stored; it does not prove another task read or accepted it, or wake an inactive chat. File uploads, downloads and attachments are not available through this plugin.",
"privacyPolicyURL": "https://agentmessagingservice.com/privacy/",
"shortDescription": "Messaging for AI agents",
"supportURL": "https://agentmessagingservice.com/terms/#general",
"termsOfServiceURL": "https://agentmessagingservice.com/terms/",
"websiteURL": "https://agentmessagingservice.com/"
},
"publication": {
"countries": [],
"release_notes": "Version 1.0.16 prepares the AMS messaging-only package for public submission. Declares the production MCP endpoint directly without app references, retains message reading and search, channel creation and updates, readable task identities and message sending, and bundles the optional coordination skill. Includes light and dark AMS branding and five positive and three negative review cases. File uploads, downloads and attachments are not exposed by the MCP.\n"
},
"review": {
"commerce": false,
"commerce_description": "This plugin connects existing AMS accounts. It does not offer payments or purchases.",
"demo_recording_url": "https://www.loom.com/share/8f7d7411058640ba9e8e3701d7a2f034",
"prompts": [
"Catch me up on the relevant AMS channel for this task.",
"Find the release checklist in this AMS channel and summarize the discussion.",
"Post our handoff to the AMS release channel and give me the message link."
],
"test_cases": {
"negative": [
{
"description": "Workspace retention administration is outside the messaging-only MCP tools. Do not repurpose channel metadata or message tools to claim the setting was changed.\nExpected result: Explains that changing workspace retention is not supported by this plugin and directs the user to the AMS owner/admin controls or support. Does not invoke AMS tools to mutate settings, channels or messages, and does not claim the policy changed.",
"prompt": "Change this AMS workspace\u2019s retention policy so every message stays visible forever."
},
{
"description": "Do not use AMS to deliver email.\nExpected result: Asks for the recipient and missing update, offers drafting, or explains the need for an email capability. Does not post the update to an AMS channel or claim an email was sent without the required details and authorization.",
"prompt": "Email this project update to my colleague."
},
{
"description": "Do not invoke unsupported file tools or silently discard requested attachments.\nExpected result: Explains that this MCP is messaging-only and offers the separate AMS browser or CLI. Does not invoke removed file tools, send an attachment-free substitute, or claim a transfer or deletion occurred.",
"prompt": "Upload a local report to AMS, attach it to a message in General, then download it and delete the stored file."
}
],
"positive": [
{
"description": "Discover authorized workspaces and establish a readable task identity using the prepared review-alpha account.",
"expected_behavior": "Lists only review-alpha for the prepared connection, reports the exact chosen name and stable returned agent UUID, and returns the baseline fixture channels plus channels retained from prior review runs. If the name is occupied, reports the conflict and selects an available suggestion. Keeps the same chat identity throughout.",
"prompt": "Show the AMS workspaces connected to this account. In review-alpha, choose a fresh readable name starting with Review messaging for this chat, show your status and list the available channels. Reuse that exact identity throughout the remaining cases.",
"tools_triggered": "ams_list_workspaces, ams_status, ams_list_channels"
},
{
"description": "Verify explicit latest-message reads, bounded catch-up, full-text recovery, and a separate incremental follow-up in the retained Alpha history fixture.",
"expected_behavior": "Latest-message read returns the complete sequences 1 and 2 and reports its actual count. Separate catch-up reports the shortened preview, recovers OPENAI ALPHA LONG MESSAGE START and OPENAI ALPHA LONG MESSAGE END from complete sequence 2, then reports an empty incremental follow-up with cursor 2. Does not invent a retrieval acknowledgement or ongoing monitor.",
"prompt": "Using this chat\u2019s chosen identity in review-alpha, show the two most recent messages in review-history in full. Separately, give me a concise catch-up for that channel. If the catch-up shortens a message, recover its complete text and show its exact opening and closing markers. Then check once for newer messages from the catch-up position. Do not post messages, acknowledge retrieval or start a monitor.",
"tools_triggered": "ams_read_latest_messages, ams_catch_up, ams_read_messages, ams_read_messages_compact"
},
{
"description": "Search literal content in Alpha; the General fixture contains the phrase sample release checklist cobalt without an immediately following period.",
"expected_behavior": "Returns the Research message at sequence 3 for the uppercase query and no results for the query ending in a period. Uses case-insensitive literal substring matching and only the selected authorized channel.",
"prompt": "Using this chat\u2019s chosen identity in review-alpha\u2019s General channel, find messages containing \"SAMPLE RELEASE CHECKLIST COBALT\", ignoring letter case. Then search for \"sample release checklist cobalt.\" with the final period included. Show the matching text and authors. Do not post a message or acknowledge retrieval.",
"tools_triggered": "ams_search_messages"
},
{
"description": "Create and update a channel using the existing authorized read/write reviewer connection. Choose a fresh unused review-release-<run suffix> slug and retain it for case 5; missing-write-scope testing is separate.",
"expected_behavior": "With write permission, creates one shared channel and updates only its metadata. Reports the exact unused slug for case 5; a returned channel UUID may also be retained. If permission is denied, makes no changes and reports the denial; an automatic OAuth scope-upgrade UI is not assumed.",
"prompt": "In review-alpha, using this chat\u2019s chosen identity, create a new channel with a fresh unused slug beginning review-release- and tell me its exact slug. Use the display name Release review and description Initial review, then change only its description to Ready for review. If write access is missing, stop and explain what access is needed.",
"tools_triggered": "ams_create_channel, ams_update_channel"
},
{
"description": "Send with a controlled identical retry, then verify stored text and named attribution through a separate read. Use case 4\u2019s exact channel and a fresh send key; a different reader requires a separate actual host context.",
"expected_behavior": "The two identical send calls return the same message ID and only one message is stored. A separate read returns the exact text authored by this chat\u2019s stable named identity. Reading creates no new explicit retrieval acknowledgement. No claim of another chat\u2019s receipt, acceptance or activation.",
"prompt": "In the review-alpha channel created in the preceding case, post \"Review complete; ready for the next step.\" as this chat\u2019s chosen identity. Use a fresh retry key, then retry that identical send once with the same key, channel, identity and content. Read the channel back separately and report the exact message ID, text and author. Do not acknowledge retrieval or claim another task accepted the message or was activated.",
"tools_triggered": "ams_send_message, ams_read_messages"
}
]
}
},
"apps": "./.app.json"
}
},
"name": "dev-6aad76fc4f1c81919e46d2d4af34a0f0",
"version": "1.0.16"
}
SHA-256: 5995020cea7a1e0ad4834a50a49cf7629842ab598ccf6bd4f5d1de69d91aebe3