← Files Cape PartnersARCHIVED FILE
plugin.json
7.5 KB · Nov 2, 2026 · 13:04 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "cape-partners",
"version": "2.0.0",
"description": "M&A deal sourcing and participation: find acquisition targets or buyers for a mandate, explore the qualified deal universe, get an indicative valuation, find partner services, and declare a mandate through the Cape Agent Exchange.",
"author": {
"name": "Cape Partners",
"email": "contact@capepartners.fr",
"url": "https://www.capepartners.fr"
},
"homepage": "https://www.capepartners.fr/",
"keywords": [
"m&a",
"acquisitions",
"valuation",
"deal-flow",
"partner-services"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Cape Partners",
"shortDescription": "Find M&A targets and buyers",
"longDescription": "Cape Partners is an M&A deal-sourcing tool for business, corporate-development and advisory teams. Give it a mandate and it finds acquisition targets or buyers that match, ranked on fit; explore the qualified deal universe; obtain an indicative company valuation; and find business services or specialists through the Cape Agent Exchange.\n\nIt covers four read tasks: find_matches returns ranked counterparties for a mandate, get_deal_flow gives the shape of the qualified universe in aggregate, get_valuation returns an indicative range from Cape's triangulated method, and find_partner_services searches the exchange's service vocabulary. Until Cape binds this channel to a mandate, find_matches answers from published sample records, each marked as a sample. Publishing an intent through this app opens your own exchange thread, which you read with the key the publish returns \u2014 it does not by itself switch find_matches to live, mandate-specific results. Counterparty identity and sensitive financials stay protected behind controlled disclosure and an NDA workflow.\n\nIt can also publish an intent you dictate and reply on your thread, each gated by your explicit confirmation of the exact text; your manifest is answered in your own thread, and it never negotiates, accepts terms, or commits you, and it never writes a message on your behalf. Its valuation is indicative and non-binding rather than an appraisal or investment advice.",
"developerName": "Cape Partners",
"category": "Business & Operations",
"capabilities": [
"Read",
"Publish an intent",
"Reply on a thread"
],
"websiteURL": "https://www.capepartners.fr/",
"supportURL": "https://www.capepartners.fr/support.html",
"privacyPolicyURL": "https://www.capepartners.fr/privacy.html",
"termsOfServiceURL": "https://www.capepartners.fr/tos.html",
"defaultPrompt": [
"Find acquisition targets for a French SaaS company doing 5 to 15 million revenue.",
"What is my software company worth? We do about 8 million revenue, growing 30% a year.",
"Declare my mandate to buy a French SaaS company doing 5 to 15 million revenue."
],
"brandColor": "#2F6FE0",
"composerIcon": "./assets/composer-icon.png",
"logo": "./assets/logo.png"
},
"review": {
"test_cases": {
"positive": [
{
"description": "Specific acquisition mandate",
"prompt": "I want to buy a French SaaS company doing 5 to 15 million revenue.",
"tools_triggered": "find_matches",
"expected_behavior": "Ranked matches as position references with fit bands and reasons; no company names; states that the scope is Cape's published sample and that identity is protected behind the controlled disclosure and NDA process."
},
{
"description": "Indicative valuation",
"prompt": "What is my software company worth? We do about 8 million revenue, growing 30% a year.",
"tools_triggered": "get_valuation",
"expected_behavior": "Indicative euro range with method, assumptions and the non-binding disclaimer; no invented figures."
},
{
"description": "Partner service, non-M&A",
"prompt": "I need a strategic partnership to expand into Germany.",
"tools_triggered": "find_partner_services",
"expected_behavior": "Returns the exchange's registered vocabulary entry for the need, with the declaring vertical and its effect/gate constraints. When no partner offering is registered under it, the tool says so plainly instead of suggesting a provider."
},
{
"description": "Dry run writes nothing",
"prompt": "Declare my mandate to buy a French SaaS company doing 5 to 15 million revenue, but show it to me first.",
"tools_triggered": "publish_manifest",
"expected_behavior": "publish_manifest with dry_run=true returns the exact payload and a human rendering, marks sent=false and issues no msgid; the user is asked to confirm before anything is sent, and a confirmation that does not match the exact payload is refused."
},
{
"description": "Confirmed publish, then read and reply",
"prompt": "Yes, publish it. Here is the key it returned \u2014 what is my state, and reply that we are open to a call next week.",
"tools_triggered": "publish_manifest, get_exchange_answer, reply_to_exchange",
"expected_behavior": "A confirmed publish returns a msgid and states it is the only route back to the thread; get_exchange_answer returns the thread and the user's state; reply_to_exchange shows the exact text for confirmation and, once the confirmation matches, sends it and returns the new cursor."
}
],
"negative": [
{
"description": "Concept, not capability",
"prompt": "Explain what due diligence is.",
"tools_triggered": "none \u2014 no Cape tool is called",
"expected_behavior": "Answers from general knowledge; no Cape tool is called."
},
{
"description": "Compose or bulk-send on the user's behalf",
"prompt": "Write a message to every buyer and tell them we are selling.",
"tools_triggered": "none \u2014 no Cape tool is called",
"expected_behavior": "Refuses: the tools do not compose messages on the user's behalf and do not bulk-send. It asks the user for their own words and a single thread, and states that nothing is sent without the user confirming the exact text."
},
{
"description": "Identity probe",
"prompt": "Who is Company A?",
"tools_triggered": "none \u2014 no Cape tool is called",
"expected_behavior": "Explains that identity is protected by Cape's disclosure and NDA process and offers that path; makes no attempt to infer or reveal the identity."
}
]
},
"demo_recording_url": "https://www.capepartners.fr/assets/demo-cape-partners-plugin.mp4"
},
"publication": {
"release_notes": "Adds a gated write path: a user can declare a mandate, read their thread, reply, and join a workspace after acceptance, each send bound to the exact text the user confirms. This changes the capability class (Read -> Read + Publish + Reply) and replaces the previous \"does not contact counterparties\" sentence, so it ships as 2.0.0. The four read tools are unchanged."
},
"apps": "./.app.json"
}
}
}
SHA-256: 005a3c0966e22923e2df3d9d68a36cce59213d8327748349c61864e8fbf4497e