Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
제작자가 쓴 설명(영어 원문)
Preview Telegram approval broker for MCP clients; live first use unverified.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"proceed": {
"command": "npx",
"args": [
"-y",
"@meshimize/proceed-mcp",
"mcp",
"--owner",
"--state-dir"
]
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add proceed -- npx -y @meshimize/proceed-mcp mcp --owner --state-dir이 서버는 실행 명령어에 값을 넣어야 해서, 설정을 복사한 뒤 직접 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"proceed": {
"command": "npx",
"args": [
"-y",
"@meshimize/proceed-mcp",
"mcp",
"--owner",
"--state-dir"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 실행 명령어에 값을 넣어야 해서, 설정을 복사한 뒤 직접 채워 주세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"proceed": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@meshimize/proceed-mcp",
"mcp",
"--owner",
"--state-dir"
]
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 6일 점검
레지스트리 이름이 GitHub 계정 renl 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.0-preview.1)은 어제 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Vexa, emailmd, MCP WhatsApp Cloud
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Review your MCP agent's approval requests from Telegram.
proceed-mcp sends an agent's proposed action to your private Telegram chat. Choose Approve, Reject, or Respond with instructions, and the waiting MCP call receives your decision. Only an explicit Approve grants approval. The server records the outcome. It does not execute the action.
To get started, install the package, pair your Telegram chat, and connect your MCP client using the steps below.
Preview:
@meshimize/proceed-mcp@0.1.0-preview.1is published on npm and listed in the
official MCP Registry. Pin the exact version. MCP Events, automatic continuation after a timeout,
doctor, andretryare not implemented in this preview.
@meshimize/proceed-mcp is the npm package for this product. It installs the proceed-mcp command and its runtime sources. It is not a hosted MCP endpoint, and there is no cloud broker. The MCP adapter and the broker run on your machine. The broker listens only on 127.0.0.1 and calls https://api.telegram.org for Telegram.
The current version is 0.1.0-preview.1. Both the preview and latest dist-tags point to it, so pin the exact version rather than relying on either tag. Publishing automation is planned but not implemented.
package.json declares >=24.powershell.exe and icacls must be available for the owner-only ACL check. On POSIX, the state directory must support owner-only mode bits.Install the exact preview version globally:
npm install --global @meshimize/proceed-mcp@0.1.0-preview.1
proceed-mcp --help
Or run it without a global install:
npx --yes --package @meshimize/proceed-mcp@0.1.0-preview.1 -- proceed-mcp --help
The scoped package installs the same proceed-mcp command.
Choose an absolute directory that is empty or does not exist yet. Keep it outside the repository.
proceed-mcp init --state-dir <absolute-state-dir>
init creates a protected config.json, a local control credential, and an empty journal. It refuses to overwrite existing state. It prints the state path, never a credential value.
The owner is the transport principal used by the MCP adapter.
proceed-mcp owner add <owner-id> --label "<display-label>" --state-dir <absolute-state-dir>
must match [a-z0-9_-]{1,64}. The label is display-only and appears in Telegram. Run this before the first serve, because owner add refuses while a broker ownership record exists. Owner records and credentials are immutable.
Create a new bot with @BotFather and keep its token private. Use this bot only for this broker. Do not configure a webhook for it and do not run another poller against it. proceed-mcp never deletes a webhook and never rewinds or drops pending updates. If Telegram reports a competing consumer, Telegram processing stops with a diagnostic, and you must repair the bot and restart serve.
Put the token only in the broker's own process environment.
PowerShell:
$env:PROCEED_TELEGRAM_BOT_TOKEN = '<bot-token>'
proceed-mcp serve --state-dir 'C:\absolute\path\to\proceed-state'
POSIX:
export PROCEED_TELEGRAM_BOT_TOKEN='<bot-token>'
proceed-mcp serve --state-dir /absolute/path/to/proceed-state
Wait for proceed-mcp: broker ready on http://127.0.0.1:43189 and the state directory line. Leave this terminal open.
The token is read only from the broker process environment. It is never stored in the state directory, the journal, Telegram, or the request history. The product does not read .env files. Never put the token in the MCP adapter's environment or in the MCP client configuration.
If the token is missing or empty, the broker still starts locally and prints a warning. A request cannot be created until a human is paired, so complete Telegram setup before testing. If the token is rejected, or another consumer owns the bot, Telegram processing stops with a diagnostic while the local broker keeps running. Fix the bot and restart serve.
In a second terminal:
proceed-mcp pair --state-dir <absolute-state-dir>
The command prints Pairing code: and Expires at:. In a private chat with the bot, send /start, then send exactly /pair before the expiry. Group chats are refused. /start alone grants nothing. A bot-suffixed or malformed command does not pair. The code is one-use, valid for five minutes, and is not stored in plaintext.
Only the first pairing succeeds. There is no in-chat re-pair or identity change.
Add a local server under mcp.servers in opencode.jsonc. This shape follows the OpenCode V2 MCP documentation.
{
"$schema": "https://opencode.ai/config.json", "mcp": { "servers": { "proceed": { "type": "local", "command": [ "npx", "--yes", "--package", "@meshimize/proceed-mcp@0.1.0-preview.1", "--", "proceed-mcp", "mcp", "--owner", " ", "--state-dir", "/absolute/path/to/proceed-state", ], "codemode": false, }, }, }, }
Replace and the state path. On Windows, escape backslashes or use forward slashes in the JSON string. codemode: false exposes the tools directly. OpenCode reloads MCP configuration after a save. Check the connection with opencode mcp list.
The --package argument selects the scoped npm package, and the argument after -- is the proceed-mcp command from that package. If you installed the package globally, start the command array with proceed-mcp and keep the same mcp --owner ... --state-dir ... arguments.
With this server name, OpenCode exposes the tools as proceed_prepare_approval, proceed_request_approval, proceed_get_approval, proceed_cancel_approval, and proceed_acknowledge_approval. If you leave Code Mode enabled, OpenCode groups them under tools.proceed.
Do not add PROCEED_TELEGRAM_BOT_TOKEN to environment. The adapter does not need it and must not receive it.
Use this command in any client that can start a local stdio server:
proceed-mcp mcp --owner <owner-id> --state-dir <absolute-state-dir>
To run the published version without a global install:
npx --yes --package @meshimize/proceed-mcp@0.1.0-preview.1 -- proceed-mcp mcp --owner <owner-id> --state-dir <absolute-state-dir>
The adapter needs no OpenCode API, password, provider credential, or proprietary session metadata. It connects only to the local broker. Keep serve running.
The server advertises MCP protocol 2025-11-25 and exposes five tools: prepare_approval, request_approval, get_approval, cancel_approval, and acknowledge_approval.
| Tool | Arguments | Effect |
|---|---|---|
prepare_approval | optional session_label | Reserve a durable request identity and a private request capability. No Telegram question is sent. |
request_approval | request_handle, request_capability, client_request_id, action, context, optional expires_in_seconds | Create or replay the one request, then wait for its resolution, expiry, or cancellation. A terminal replay returns at once. |
get_approval | request_id, request_capability | Read that authorized request and apply expiry first. No delivery side effect and no agent wake-up. |
cancel_approval | request_id, request_capability | Cancel that pending request. An already terminal outcome is returned unchanged. |
acknowledge_approval | request_id, request_capability, decision_id | Record receipt of the matching terminal decision. Idempotent, and it creates no second decision. |
action accepts 1-1000 Unicode scalars, context accepts 0-1000, and session_label accepts 1-128. client_request_id must match [A-Za-z0-9_-]{1,128}. expires_in_seconds is an integer from 60 to 86400 and defaults to 3600.
request_approval is the waiting call. It returns the actual outcome, not a creation receipt. prepare_approval alone sends no Telegram question and creates no actionable request.
A normal agent flow is:
prepare_approval and keep the returned request_handle, request_id, and request_capability together.request_approval with that handle and capability, a unique client_request_id, the exact action, and enough context for the human to distinguish the request.resolution and delivery_state. The call returns the human outcome itself.decision_id, acknowledge that exact decision with acknowledge_approval.approved, and only within your own permission rules.The request capability, together with its owner principal, authorizes later get_approval, cancel_approval, and acknowledge_approval calls. Never put it in Telegram, assistant messages, logs, session_label, action, or context. Those text fields are displayed in the Telegram question. A label is caller-supplied display context, not authenticated identity.
Sharing the capability with another context under the same owner grants that context access to that one request. It does not redirect the original waiting call and does not authorize a different owner.
| Outcome | Meaning |
|---|---|
approved | The paired human explicitly approved this request. |
rejected | The paired human rejected it. This does not authorize the action. |
responded | The paired human supplied instructions. This is not approval. |
expired | The deadline passed without a decision. This is not approval. |
cancelled | An authorized caller cancelled the pending request. This is not approval. |
Only an explicit Approve grants approval. Reject records rejection. Respond records request-specific instructions only after valid correlated text. To send instructions,
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요