Codync
무료 오픈소스 1:1 대안, Grok Bot과 Muse 대신
Coral은 오픈 소스이며 자체 호스팅 가능한 AI 에이전트 실행 레이어입니다
Coral is the open source, self-hosted execution layer for AI agents. Equip agents to work across more tools and databases with precise permissions and approved functions.
개발 도구Rust · TypeScriptGitHub @withcoral온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
The execution layer for AI agents. Act across more of your systems with precise controls: safer, faster and more efficient than MCP tools and gateways.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗One MCP server for every service your agents use, with your credentials and your rules. Agents write short TypeScript programs. Coral runs them in a sandbox, adds the credentials, and checks every call against your policy.
Connecting an agent to many services usually means many MCP servers, a token pasted into each one, and every tool definition loaded into every prompt. Coral replaces that with one server:
Coral includes setup recipes for GitHub, Linear, Jira, Notion, Gmail, Stripe, Datadog, Sentry, HubSpot, and more. You can add any service that has an OpenAPI document or an MCP server.
Install Coral. Download the desktop app for macOS, Linux, or Windows from the releases page, or run a shared server for your team.
Add a provider. A provider is one service your agents can use. Pick one from the catalog, or bring your own OpenAPI document or MCP server. See Add a provider.
Connect your agent. Each workspace in Coral has its own MCP URL. Copy it from the Coral UI and add it to your MCP client:
claude mcp add --scope user --transport http coral <your-mcp-url> # Claude Code
codex mcp add coral --url <your-mcp-url> # Codex
For Cursor, VS Code, OpenCode, and other clients, see Connect an MCP client.
Now ask your agent something that needs that provider, such as "What are my open pull requests?"
Setup guides and the configuration reference are at withcoral.com/docs.
graph LR
Agent["Your agent"] -->|"search, exec"| MCP["Coral MCP server"]
You["You"] -->|"providers, policy, approvals"| UI["Coral UI"]
subgraph Coral["Coral (your machine or server)"]
MCP --> Run["Sandboxed program run"]
UI --> Gate["Credentials and policy"]
Run --> Gate
end
Gate --> GH["GitHub"]
Gate --> SL["Slack"]
Gate --> Own["Your OpenAPI or MCP service"]
The agent searches for the tools it can use and reads their TypeScript signatures. Then it sends Coral a short program. This one finds open pull requests that have no reviewer and posts them to Slack:
const { data: pulls } = await coral.providers.github.pulls.list({
owner: "withcoral",
repo: "coral",
state: "open",
});
const unreviewed = pulls.filter((pull) => pull.requested_reviewers.length === 0);
await coral.providers.slack.chat.postMessage({
channel: "#engineering",
text: unreviewed.map((pull) => `#${pull.number} ${pull.title}`).join("\n"),
});
return unreviewed.map((pull) => pull.number);
Coral adds the credentials and checks each call against your policy. If
posting to Slack requires approval, the run pauses there until you approve it.
Only the pull request numbers go back to the agent, not the full GitHub
response. Once this works, the agent can save it as a function, and later
programs call it as coral.functions.<name>().
To learn about providers, accounts, policy, and workspaces, read Concepts.
Coral 1.0 replaces the SQL interface with TypeScript programs. It is a rewrite and starts from fresh state: it does not convert what 0.x stored, and it tells you at startup if it finds 0.x state. See Upgrade from Coral 0.x.
To run Coral from a checkout, follow the development guide.
Ask questions, share ideas, and show what you built in our Discord or on GitHub issues.
Do not report security issues in public issues or pull requests. See
SECURITY.md.
Coral is licensed under the Apache License 2.0. See LICENSE.