chore(mcp): prepare npm publish

This commit is contained in:
digua authored and digua committed 2026-05-22 10:20:39 +08:00
1 parent d1737c7e8d
commit 6fa92bc2e4
16 files changed
+116 -13

No files matched your search

+91
View File
@@ -0,0 +1,91 @@
# chatlab-mcp
ChatLab MCP Server exposes local ChatLab conversation data to MCP clients such as ClaudeCode, Cursor, Codex, and OpenClaw.
It runs over stdio and provides read-only access to imported ChatLab sessions, including session discovery, keyword search, member statistics, time analysis, SQL queries, and conversation context tools.
## Quick Start
Use it directly with `npx`:
```bash
npx -y chatlab-mcp
```
The command starts an MCP stdio server and waits for an MCP client. It does not print a help screen because stdout is reserved for MCP protocol messages.
## MCP Client Configuration
Add this server to your MCP client configuration:
```json
{
"mcpServers": {
"chatlab": {
"command": "npx",
"args": ["-y", "chatlab-mcp"]
}
}
}
```
If you install the package globally, you can also use:
```json
{
"mcpServers": {
"chatlab": {
"command": "chatlab-mcp"
}
}
}
```
## Data Directory
`chatlab-mcp` reads the same local data directory as ChatLab:
```text
~/.chatlab/
```
If you configured a custom ChatLab data directory in `~/.chatlab/config.toml`, the MCP server will use that configuration automatically.
The server is read-only. It opens existing ChatLab session databases and does not modify chat data.
## Available Capabilities
The server registers ChatLab tools for:
- Listing imported chat sessions
- Reading session metadata and database schema
- Searching messages and keywords
- Loading recent messages and message context
- Listing members and member activity
- Analyzing active hours, response time, interaction pairs, and daily active users
- Running read-only SQL queries
- Producing text or JSON output for tool results
## Requirements
- Node.js 20 or later
- Existing ChatLab data under `~/.chatlab/`
`better-sqlite3` is installed as a runtime dependency. On platforms without a matching prebuilt binary, npm may need local build tools for native modules.
`@node-rs/jieba` is optional and improves Chinese word segmentation for keyword-frequency tools. If it is unavailable, core MCP functionality still works.
## Package API
Advanced callers can import the shared server core:
```js
import { startMcpServer } from 'chatlab-mcp'
```
Most users should prefer the `npx -y chatlab-mcp` command.
## Links
- ChatLab: https://github.com/ChatLab/ChatLab
- Model Context Protocol: https://modelcontextprotocol.io/
+3
View File
@@ -0,0 +1,3 @@
#!/usr/bin/env node
import('../dist/bin.mjs')
+6 -2
View File
@@ -4,9 +4,10 @@
"description": "ChatLab MCP Server — shared core for CLI and Desktop, also usable standalone via npx",
"main": "./dist/index.mjs",
"bin": {
"chatlab-mcp": "./dist/bin.mjs"
"chatlab-mcp": "bin/chatlab-mcp.js"
},
"files": [
"bin/",
"dist/"
],
"engines": {
@@ -15,7 +16,7 @@
"publishConfig": {
"access": "public"
},
"license": "MIT",
"license": "AGPL-3.0",
"repository": {
"type": "git",
"url": "git+https://github.com/ChatLab/ChatLab.git",
@@ -39,6 +40,9 @@
"smol-toml": "^1.3.1",
"zod": "^3.24.4"
},
"optionalDependencies": {
"@node-rs/jieba": "^2.0.1"
},
"devDependencies": {
"@openchatlab/config": "workspace:*",
"@openchatlab/core": "workspace:*",
+1 -1
View File
@@ -2,7 +2,7 @@
* ChatLab MCP Server core
*
* Registers @openchatlab/tools as MCP tools and exposes session data as MCP resources.
* Communicates with AI agents (Claude Desktop, Cursor, etc.) via stdio transport.
* Communicates with AI agents (ClaudeCode, Cursor, etc.) via stdio transport.
*/
import { McpServer, ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js'