kintio
Allows connecting WeChat chat channels (via WeChat KF API and Weixin iLink) to an Agent, enabling users to assign tasks, steer active work, and receive results directly in the chat conversation.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@kintioAsk the agent to investigate the latest deployment failure and share findings here."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Connect chat channels to an Agent you control.
English | 简体中文
Kintio connects chat channels to the Agent running on your computer. Send tasks and follow-ups from chat, then receive the Agent's results in the same conversation. The current release uses the authenticated Codex CLI and configuration already available on the host.
Quick start
You need Node.js 24+ and a Codex CLI authenticated by the same operating-system user that runs Kintio.
npm install --global @kin-tio/cli
codex login statusWeixin iLink
iLink is the shortest path to a working conversation. It uses QR enrollment and long
polling, so it needs no public URL, callback server, setup file, or .env file.
kintio ilink startOn the first interactive run, ilink start prints a QR code. Scan it within five minutes;
Kintio encrypts the enrolled account under ~/.kintio, continues startup, and leaves iLink
polling in the background. You can then send a message to the new bot in WeChat. Later
ilink start calls reuse the saved account and do not require another scan.
A locally enrolled iLink account inherits the capabilities allowed by the host Agent configuration. Only an authorized operator should scan the QR code.
Check the runtime or follow its output:
kintio ilink status
kintio ilink logs --lines 100Manage iLink accounts
Goal | Command |
Enroll an account without starting it |
|
List enrolled accounts |
|
Start an account |
|
Stop an account |
|
Permanently delete an account and its Kintio data |
|
Keep the Runtime attached to a service manager |
|
With one account, lifecycle commands select it automatically. With multiple accounts, an
interactive terminal opens a searchable picker. Scripts should use
--account <provider-id-or-account-key> for start and stop. Non-interactive deletion always
requires both --account and --yes. Deletion removes Kintio's local state; it does not
delete the provider-side bot or guarantee server-side token revocation.
kintio ilink login performs enrollment and exits without starting a listener or Agent
turn. A graphical or non-terminal caller can request a temporary raw PNG instead of terminal
blocks:
kintio ilink login --qr-output ~/.kintio/ilink-login.pngThe PNG is temporary and the QR expires after five minutes. See the setup guide for the complete QR, multi-account, and non-interactive contracts.
WeChat KF callbacks
Channels that receive public HTTPS callbacks require a deployment configuration:
kintio wecom setup
kintio wecom start
kintio wecom status
kintio wecom logs --lines 100WeCom uses ~/.kintio/wecom/.env; iLink keeps its existing ~/.kintio data.
Both share one background runtime and SQLite database. Start or stop their
listeners independently; their identities, authorization, and conversations stay isolated.
kintio wecom setup creates private configuration under ~/.kintio/wecom, installs the managed Agent
skill, and writes the channel configuration template. Continue with the
setup guide for callback credentials, authorization, and the first reply.
Related MCP server: Agent Communication MCP Server
What it provides
A separate Agent thread for every channel identity.
Follow-ups that steer active work instead of waiting behind stale instructions.
A durable SQLite inbox with restart recovery and live-message priority.
Session-scoped MCP actions and explicit accepted, failed, or uncertain delivery outcomes.
See the architecture guide for message flow, identity boundaries, recovery, and source entry points.
Current adapters
Adapter | Receive | Send | Transport |
Weixin iLink | Text and images; explicit summaries for other types | Text and images | QR enrollment and long polling |
WeChat KF API | Text and images; explicit summaries for other types | Text, images, links, Mini Programs, and locations | Public HTTPS callback |
Capabilities stay scoped to the originating conversation; users, media references, and Agent threads are never implicitly merged across channels.
Operations and updates
kintio ilink status
kintio ilink logs
kintio ilink restart
kintio updatekintio upgrade is an exact alias for update. A recognized global npm or pnpm installation
can update itself without changing Agent or channel configuration. Kintio refuses unknown
installation layouts and active Agent work; an idle background instance is restored in its
existing channel.
Security boundaries
.env, SQLite databases, downloaded media, and local key files are ignored by Git and must never be force-added.Kintio does not inject channel secrets, stable user identifiers, raw media IDs, or database paths into the Agent; host Agent credentials remain host-managed.
Codex starts MCP over stdio. Kintio uses only a private Unix-domain socket or Windows named pipe behind that process boundary, never a public MCP TCP port or Hono route.
Project-level Agent capability restrictions are not an operating-system sandbox. Use a dedicated system account and isolation appropriate to the Agent's real powers.
Accounts enrolled locally through iLink are explicitly host-authorized. Accounts enrolled from a remote adapter remain restricted, and chat input cannot change that trust level.
Provider acceptance does not prove that a client displayed a message. Uncertain outcomes stay explicit to prevent duplicate delivery.
Read the security policy for the complete trust boundary and private vulnerability-reporting process.
Project status and documentation
Kintio is in the 0.x stage while its channel, identity, recovery, and Agent-runtime
contracts are stabilized for additional adapters.
Setup guide — deployment through the first Agent reply.
Architecture — message flow, boundaries, and source entry points.
Roadmap — long-term direction and
0.xpriorities.Changelog — user-visible changes by release.
The Weixin iLink implementation incorporates work described in THIRD_PARTY_NOTICES. Kintio is an independent open-source project; it is not affiliated with, authorized by, endorsed by, or an official product of Tencent, WeChat, Weixin, or any other channel provider.
Contributing
Contributions are welcome. Start with the contributing guide, then run the same default verification entry point used by the repository:
corepack enable pnpm
pnpm install --frozen-lockfile
pnpm testTests use temporary SQLite databases and simulated channel and Agent boundaries by default. They contact real services only when explicit live-test flags, targets, and allowlists are supplied. Contributors should also read the Code of Conduct; release and repository operations are documented in the maintainer guide. Kintio is available under the Apache License 2.0.
This server cannot be deployed
Maintenance
Related MCP Connectors
- UproarOAuthchat.uproar
Chat where AI agents are first-class members, with their own identity and permissions.
End-to-end encrypted messaging and work coordination for autonomous AI agents.
Message channels between the agents of different people, one-to-one or in groups.
Public and private rooms for agents, with messages, files, search, and resumable events.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables structured team communication for Claude Code agents through Slack-like channels and direct messages. Supports project isolation, subscription management, and agent notes for sophisticated multi-agent collaboration workflows.14 npm8MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to communicate with each other through Slack-like room-based channels with messaging, mentions, presence management, and long-polling for real-time collaboration.1,014 npm4MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to send messages to human users via chat platforms (currently Discord) and optionally wait for human responses, facilitating human-in-the-loop interactions.MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude Code agents to communicate across sessions, terminals, and repositories through shared channels with persistent context.MIT