Install
$ agentstack add mcp-marimo-team-use-acp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
use-acp
React hooks for Agent Client Protocol (ACP) over WebSockets.
Features
- WebSocket connection management
- Reactive state management
- Notifications timeline for ACP events
- Permission request/response handling
- Full TypeScript support
Installation
npm install use-acp
# or
pnpm add use-acp
Usage
Basic Usage
import { useAcpClient } from 'use-acp';
function App() {
const {
connect,
disconnect,
connectionState,
notifications,
pendingPermission,
resolvePermission,
} = useAcpClient({
wsUrl: 'ws://localhost:8080',
autoConnect: true
});
return (
Status: {connectionState.status}
{connectionState.status === 'connected' ? 'Disconnect' : 'Connect'}
{pendingPermission && (
Permission Request
{pendingPermission.options.map((option) => (
resolvePermission(option)}>
{option.name}
))}
)}
Notifications: {notifications.length}
{notifications.map((notification) => (
{JSON.stringify(notification)}
))}
);
}
API Reference
useAcpClient({ wsUrl, autoConnect?, reconnectAttempts?, reconnectDelay? })
Returns: { connect(), disconnect(), connectionState, notifications, clearNotifications(), pendingPermission, resolvePermission(), rejectPermission(), agent }
Utils
import { groupNotifications, mergeToolCalls } from 'use-acp';
// Group notifications by their type
// This helps when displaying notifications in a timeline
const groupedNotifications = groupNotifications(notifications);
// Merge tool calls with the same toolCallId
const mergedToolCalls = mergeToolCalls(toolCalls);
Development
pnpm install
pnpm test # run tests
pnpm build # build library
pnpm dev # run demo, http://localhost:5173
Example Agents
# Gemini ACP
npx -y stdio-to-ws "npx @google/gemini-cli --experimental-acp"
# Claude Code ACP
npx -y stdio-to-ws "npx @zed-industries/claude-code-acp"
# Codex ACP
npx -y stdio-to-ws "npx @zed-industries/codex-acp"
License
Apache 2.0
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: marimo-team
- Source: marimo-team/use-acp
- License: Apache-2.0
- Homepage: https://marimo-team.github.io/use-acp/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.