Causly Server

io.github.KNIHAL由 GitHub 账号 KNIHAL 发布v1.5.3更新于 Oct 29, 2026

Open-source MCP server that turns any AI agent into your technical co-founder

概览

AI 生成的概览

本地 MCP 服务器,内置约 230 个工具,覆盖编码、销售管道、会议、提醒与多种服务集成,面向独立创始人。

可以做什么
  • 读写、移动、搜索文件与目录,并执行带风险检查的 shell 命令
  • 识别项目类型并运行构建、测试、lint 与类型检查;通过工作流工具提交改动、修复 CI 并部署
  • 操作 git 与 GitHub:状态、提交、分支、议题、拉取请求、评审与 Actions
  • 在本地维护销售管道(线索、交易、联系人)、提醒事项并导出 CSV
  • 转写会议录音、保存摘要与行动项,并为通话做准备
  • 按需加载 Google 日历、Gmail、Telegram、SEO、Vercel、Docker、Terraform、Postgres/MySQL、Supabase、Slack、Notion、Linear、Sentry 及本地密钥库等工具包
适用场景
适合希望用一个助手同时兼顾写代码和小公司经营事务的人:提交与拉取请求、客户线索、会议记录、跟进与日历。也适合偏好本地存储而非托管服务的用户。
运行要求
需要 Node.js 20 或更高版本;以全局 npm 包安装并通过 stdio 启动。按需在 ~/.causly/.env 中为所用服务配置 API 密钥,例如 GITHUB_TOKEN、VERCEL_TOKEN、NOTION_API_KEY、LINEAR_API_KEY、SLACK_BOT_TOKEN、GMAIL_CLIENT_ID、GMAIL_CLIENT_SECRET、GMAIL_REFRESH_TOKEN、CALENDAR_REFRESH_TOKEN、TELEGRAM_BOT_TOKEN、TELEGRAM_CHAT_ID、GROQ_API_KEY 与 SECRETS_MASTER_KEY。Docker 与 Terraform 需其 CLI 在 PATH 中;超过 25 MB 的录音需 ffmpeg。Google 需自建 OAuth 桌面客户端。
安装前请注意
它能操作文件、代码仓库与基础设施:shell 命令、部署、合并、删除、原始 SQL、Terraform apply/destroy 与 Docker 删除均需显式确认标志,并可用工作区限制把文件与命令工具限定在一个文件夹内。多项凭据保存在本地 ~/.causly/.env,需妥善保护。数据只会发往你配置的服务,包括确认转写时上传音频到 Groq。macOS 与 Linux 尚未实测。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Causly Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Causly Server

The open-source MCP server that turns any AI agent into your technical co-founder.

[npm version] [MIT license] [CI] [Node 22.13 or newer] [PRs welcome]

Most agents can write text. Causly Server gives them hands: they ship code, hunt for clients, track deals, take meeting notes, handle your calendar and remind you on Telegram, all from one conversation, all on your own machine.

bash
npm install -g causly-servercausly-server init

[Install, init and doctor in under ten seconds]

Contents

Why Causly Server

A founder's week is not only code. It is also finding clients, following up, remembering what was promised in a call, and shipping without breaking things. Causly Server puts all of that behind one MCP server.

  • One server for build, sell, operate and grow. Git, GitHub, CI and deploys, but also leads, a sales pipeline, meeting notes, calendar, reminders and SEO.
  • Memory that survives the chat. Your pipeline, meetings and reminders live in a local SQLite file, so the agent can pick up tomorrow where it stopped today.
  • Local-first. Keys and data stay on your machine. There is no Causly cloud in the loop.
  • Safe by default. Risky actions need explicit confirmation, file access can be limited to one folder, and secrets are redacted from logs.
  • Light on your agent's context. Tools load in packs on demand instead of flooding the agent with hundreds of definitions.
  • One command setup. init finds Claude Desktop, Cursor and Windsurf and wires them up.

Quick start

Requires Node.js 20 or newer.

1. Install

bash
npm install -g causly-server

2. Connect your editors

bash
causly-server init

init adds Causly Server to Claude Desktop, Cursor and Windsurf, whichever you have. It also prints the one-line command for Claude Code. Restart the editor afterwards.

3. Check everything

bash
causly-server doctor

4. Add keys for the services you use (optional)

bash
causly-server setup

Files, git, shell, Docker and Terraform work with no keys at all. Add keys only for the services you want. Each key is checked live as you enter it.

Useful init options:

bash
causly-server init --client cursor                    # pick editors instead of auto-detectingcausly-server init --workspace D:\my-project          # limit file tools to one foldercausly-server init --toolsets research,pipeline,meetings   # choose which packs load at startup

What you can ask

  • "Find companies hiring React developers and add the best three to my pipeline."
  • "Save notes from my call with Acme: they want a demo next week, follow up on Friday."
  • "What is due this week? Include meeting action items and reminders."
  • "Prep me for my next meeting." (needs Google Calendar)
  • "Transcribe this recording and list the action items." (needs a Groq key)
  • "Ship this change: run the checks, open a pull request, tell me when CI is green."
  • "Audit this page for SEO and suggest keywords."
  • "Find a free slot on Thursday and create the event."

How it works

[Architecture: your AI agent talks MCP to Causly Server, which has a tool router, a safety layer, tool packs and a local store, and calls your services over their APIs.]

Your agent talks to Causly Server over MCP (stdio). Inside the server:

  1. Tool router. search_tools, load_toolset and use_tool let the agent find a tool and call it by name. Packs load on demand, and use_tool works even in editors that do not refresh their tool list mid-chat, so you do not need to restart.
  2. Safety layer. Permission levels, confirmation for risky actions, an optional workspace limit, secret redaction and an activity log.
  3. Tool packs. About 230 tools grouped into packs (below).
  4. Local store. SQLite for pipeline, meetings and reminders in ~/.causly, encrypted secrets, and your API keys in ~/.causly/.env.
  5. Your services. GitHub, Vercel, Docker, Terraform, Postgres, Slack, Notion, Linear, Gmail, Google Calendar, Telegram and more, reached with your own keys.

Tool packs

These packs load at startup by default:

PackToolsWhat it does
files9Read, write, edit, copy, move and inspect files
directory5List, create and delete directories; search file names
command1Run shell commands with safety checks
project7Detect project type and health; run build, tests, lint and typecheck
research2Search the web and read pages as clean text
leads3Find companies hiring (Hacker News, remote job boards) and public company contact details
pipeline9Local sales pipeline: leads, deals, contacts, activity log, report, CSV export
meetings9Transcribe recordings, save summaries, track action items, link to deals and calendar, prep for calls
reminders3Follow-ups saved locally; ask what is due

These load on demand, or you can add them to startup with causly-server toolsets add <name>:

PackToolsWhat it does
calendar8Google Calendar: events, free/busy, find meeting slots, create, update, delete
gmail8Search, read, send, reply and forward
telegram5Alert yourself, read messages sent to your bot
seo4Keyword ideas, page audit, draft check, Search Console
git20Status, diff, commit, branch, merge, stash, tags, remotes
github27Repos, issues, pull requests, reviews, Actions
workflow4ship_change, fix_ci, verify_ci_fix, deploy_project
vercel11Projects, deployments, HTTP health checks
docker18Build, run, logs, images, exec, Compose
terraform20Init, plan, apply, state, workspaces, PR plan comments
database8Postgres and MySQL queries and schema inspection
supabase6Projects, organizations and SQL
slack8Channels, messages and threads
notion15Pages, databases, blocks and comments
linear7List, read, create, update and comment on issues
sentry8Projects and issues
secrets6Encrypted local secrets store

Manage startup packs:

bash
causly-server toolsets                      # show what loads at startupcausly-server toolsets add github,gmailcausly-server toolsets remove seocausly-server toolsets reset                # back to the defaults

Workflow tools

Single tools are building blocks. These combine them into verified outcomes:

  • ship_change: inspects changes, creates a branch, runs project checks, commits, pushes and opens a pull request.
  • fix_ci: finds a failing GitHub Actions run and fetches the real failure output.
  • verify_ci_fix: commits and pushes the fix, polls the workflow and confirms CI is green.
  • deploy_project: checks health, runs tests and build, deploys, polls, and HTTP-verifies the live URL.
mermaid
flowchart TD    A["You describe a task"] --> B["Agent edits files"]    B --> C["ship_change runs checks"]    C --> D["Commit, push, open PR"]    D --> E{"CI passes?"}    E -- "No" --> F["fix_ci gets failure logs"]    F --> G["Agent fixes the code"]    G --> H["verify_ci_fix pushes and confirms CI"]    H --> E    E -- "Yes" --> I["deploy_project deploys"]    I --> J["HTTP verification"]    J --> K["Shipped"]

Configuration

Settings live in ~/.causly/.env (on Windows, C:\Users\<you>\.causly\.env). Manage them with the CLI instead of editing by hand:

bash
causly-server setup            # step by step, each key checked livecausly-server keys list        # which keys are set (never the full value)causly-server keys set NAME    # hidden promptcausly-server keys unset NAMEcausly-server doctor --test    # check every configured service live

Changes are picked up without restarting your editor.

ServiceVariablesNotes
GitHubGITHUB_TOKENFine-grained token: contents, issues, pull requests
VercelVERCEL_TOKENProject must be Git-linked for deploys
SupabaseSUPABASE_ACCESS_TOKENManagement API
SlackSLACK_BOT_TOKENsearch:read needs a user token
NotionNOTION_API_KEYShare each page or database with the integration
LinearLINEAR_API_KEYPersonal API key
SentrySENTRY_AUTH_TOKENAdd event:write to resolve or comment
GmailGMAIL_CLIENT_ID, GMAIL_CLIENT_SECRET, GMAIL_REFRESH_TOKENRun causly-server login google
Google CalendarCALENDAR_REFRESH_TOKENSame Google client as Gmail
TelegramTELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_IDCreate a bot with @BotFather, message it, then find your chat id with telegram_get_updates
Groq (meeting transcription)GROQ_API_KEYFree tier available. Audio is uploaded to Groq only when you confirm a transcription
Secrets managerSECRETS_MASTER_KEY32-byte hex key you generate and keep
Timezone (optional)CAUSLY_TIMEZONEIANA name, e.g. Asia/Kolkata; defaults to your machine's zone

Docker and Terraform need no key, only the CLI on your PATH. Postgres and MySQL take a connection string on each call. Transcribing recordings over 25 MB needs ffmpeg on your PATH.

Google setup (Gmail, Calendar, Search Console)

Google needs a one-time OAuth client that you own. It takes about five minutes.

  1. Open Google Cloud Console and create or pick a project.
  2. Enable the APIs you want: Gmail API, Google Calendar API, and optionally Google Search Console API.
  3. Open Google Auth Platform. Under Branding, fill in the app name and your support email. Under Audience, choose External and add your own Google account as a test user.
  4. Under Clients, choose Create client and pick Desktop app. A "Web application" client fails with redirect_uri_mismatch. Copy the client ID and secret.
  5. Save them in Causly: run causly-server setup, or causly-server keys set GMAIL_CLIENT_ID and causly-server keys set GMAIL_CLIENT_SECRET.
  6. Sign in once in your browser:
bash
causly-server login google            # Gmail and Calendarcausly-server login google all        # also Search Console

Avoid the 7-day expiry. While your Google app is in Testing, Google expires the sign-in token every 7 days. Renew it any time with causly-server login google, or stop the expiry for good: in Google Auth Platform → Audience, click Publish app (In production). The Branding page from step 3 must be filled in first. For personal use you do not need Google verification; at sign-in you will see an "unverified app" warning, which is expected for your own client: choose Advanced, then continue.

Works with

ClientSetup
Claude Desktopcausly-server init
Cursorcausly-server init
Windsurfcausly-server init
Claude Codeinit prints the command: claude mcp add causly-server -- node <path>/index.js
Any MCP client or agent frameworkSpawn causly-server over stdio

Tested with Claude Desktop, Cursor and Windsurf (the same use_tool call on a real repository in each), a plain JavaScript MCP client, and LangChain (JS) through @langchain/mcp-adapters.

A minimal custom agent in JavaScript:

js
import { Client } from "@modelcontextprotocol/sdk/client/index.js";import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
const client = new Client({ name: "my-agent", version: "1.0.0" });// Find the install folder with: npm root -gawait client.connect(new StdioClientTransport({  command: "node",  args: ["<npm-root>/causly-server/index.js"],}));
const { tools } = await client.listTools();           // search_tools, load_toolset, use_tool, ...const result = await client.callTool({  name: "use_tool",  arguments: { tool: "git_status", arguments: { repo_path: "." } },});console.log(result.content[0].text);

Security and privacy

Causly can touch your files, repositories and infrastructure, so the controls live in the server itself. See SECURITY.md to report a vulnerability.

  • Permission levels. Every tool is READ, LOW, MEDIUM, HIGH or DESTRUCTIVE. HIGH and DESTRUCTIVE actions (deploys, merges, shell commands, deletes, raw SQL, Terraform apply and destroy, Docker removal) need an explicit confirm: true.
  • Workspace limit. causly-server init --workspace <folder> restricts file and command tools to one folder.
  • Command risk checks. Drive wipes, formatting and shutdown commands are blocked. Force-pushes, DROP TABLE, curl | bash and sudo are flagged.
  • Path protection. Writes and deletes inside protected system directories are blocked.
  • Secret redaction. Tokens, passwords and API keys are redacted before anything is written to logs.
  • Local encrypted secrets. The built-in secrets manager uses AES-256-GCM with a key you control. No external vault needed.
  • Activity log. Every call is recorded in logs/activity.log as structured JSONL (timestamp, operation ID, risk level, status, redacted input, duration).

Privacy. Causly Server has no Causly cloud and no Causly account. Your pipeline, meetings and reminders are stored in a local SQLite file, and your keys stay in ~/.causly/.env. Data leaves your machine only when you use a service you configured, for example GitHub, Gmail, Telegram, or Groq for transcription, and only to that service.

Optional BoundaryAttest receipts for ship_change, verify_ci_fix and deploy_project are described in the docs.

Command reference

text
causly-server                          Start the MCP server (your editor runs this)causly-server init                     Set up Claude Desktop, Cursor and Windsurf    --client claude|cursor|windsurf|all    --workspace <folder>    --toolsets <list>    --no-setupcausly-server status                   One screen: editors, keys, pipeline, reminders, backup, updatescausly-server doctor [--test]          Check your setup; --test also checks every key livecausly-server setup [service]          Add API keys step by stepcausly-server keys list | set NAME | unset NAME | opencausly-server login google [gmail,calendar,gsc|all]causly-server toolsets [add|remove|reset]causly-server backup [file]            Save a copy of your pipeline, meetings and reminderscausly-server restore <file> [--yes]   Put a backup back (current data is kept as a copy)causly-server remove [--client <name>] Remove it from your editorscausly-server --version

Troubleshooting

Start with causly-server doctor. It tells you what is missing.

ProblemFix
causly-server is not recognized after installOpen a new terminal so your PATH refreshes. Check that your npm global folder (npm config get prefix) is on PATH.
Editor does not show the tools after initQuit the editor completely (including the system tray) and open it again.
The agent cannot see a tool that is not loadedAsk it to call the tool with use_tool, or run causly-server toolsets add <pack>.
Gmail or Calendar stopped workingYour Google token expired (7 days in Testing mode). Run causly-server login google.
redirect_uri_mismatch during Google sign-inYour OAuth client is a "Web application". Create a Desktop app client instead.
A reminder never reached TelegramSet both TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID, then run causly-server doctor --test.
Transcription fails on a large fileInstall ffmpeg and make sure it is on your PATH. Files above 25 MB are compressed first.
restore cannot replace the data fileQuit Claude Desktop, Cursor and any app using Causly Server, then run it again.
A file or command is refusedA workspace limit may be on. Check causly-server doctor, or re-run init with the folder you want.

FAQ

Is it free? Yes. It is MIT licensed, including for commercial use. The services you connect have their own pricing.

Does my data go to Causly? No. There is no Causly cloud in the loop. See Security and privacy.

Do I need every key? No. Add keys only for the services you use.

Which agents work with it? Any MCP client. It is tested with Claude Desktop, Cursor, Windsurf, a plain JavaScript client and LangChain (JS).

Why is my agent not calling a tool? It may be in a pack that is not loaded. Tell the agent to use use_tool, or add the pack with causly-server toolsets add <pack>.

How do I update? npm update -g causly-server. status and doctor tell you when a new version is out.

How do I back up my data? causly-server backup saves your pipeline, meetings and reminders to a file. causly-server restore <file> puts it back.

How do I remove it? causly-server remove takes it out of your editors. Then npm uninstall -g causly-server.

Is there a hosted version? Causly Hosted is in development. Join the waitlist.

Compatibility

Status
Node.js20 or newer
WindowsTested
macOS and LinuxExpected to work; not yet tested on real machines. Reports welcome.
EditorsClaude Desktop, Cursor, Windsurf (tested); Claude Code (command printed by init)

Known limitations

  • vercel_create_deployment and deploy_project need the Vercel project to be Git-linked already.
  • supabase_run_sql uses the Supabase Management API; some personal access tokens get a 403 for SQL.
  • slack_search_messages needs a Slack user token with the search:read scope.
  • docker_push needs registry authentication already configured on the host.
  • Sentry resolve_issue, ignore_issue and add_comment need a token with the event:write scope.

Contributing, roadmap, license

Want something custom built on this?

Need a custom MCP server, a specific integration, or a related service for your product or team? Reach out: [email protected]

Causly Hosted

Do not want to run Causly Server yourself? Causly Hosted is a managed version, currently in development.

Join the Causly Hosted waitlist

来源:README.md,提交 c6bc132

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.5.3最新Oct 29, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分