mirror of
https://github.com/hellodigua/ChatLab.git
synced 2026-10-26 02:04:37 +08:00
chore(mcp): prepare npm publish
This commit is contained in:
1 parent
d1737c7e8d
commit
6fa92bc2e4
16 files changed
+116
-13
No files matched your search
@@ -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/
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import('../dist/bin.mjs')
|
||||
@@ -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:*",
|
||||
|
||||
@@ -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'
|
||||
|
||||
Reference in new issue
Block a user