Content
# Tool List
> ## ⚠️ Disclaimer (Please Read Carefully)
>
> - **This project is for personal learning, technical research, and reference purposes only. It is strictly prohibited to use it for any commercial purposes or in scenarios that violate laws and regulations or the terms of service (ToS) of Cursor or related third-party services.**
> - This project is based on the open-source project [`a78789191888/wkmcp-pjb`](https://github.com/a78789191888/wkmcp-pjb) under the MIT license, with secondary modifications, integrations, and research. **All core ideas and copyrights of the upstream code belong to the original author**, and this repository is only a replication sample for learning and research purposes.
> - The publisher is only responsible for organizing and storing the source code, **and has no interest relationship with the author (i.e., the current repository maintainer)**, and does not assume any responsibility for direct or indirect losses, account bans, or legal liabilities caused by users using, modifying, or disseminating this code.
> - By downloading, cloning, compiling, running, or using this repository in any form, you are deemed to have **read and agreed to this statement**; if you do not agree to the above terms, please stop using and delete all copies of this repository immediately.
> - If this project infringes on your legitimate rights, please submit an Issue to inform, and the relevant content will be removed in the first time after verification.
---
**Card-free Cursor Enhancement Plugin · Infinity Assistant**, based on [`a78789191888/wkmcp-pjb`](https://github.com/a78789191888/wkmcp-pjb) replication and enhancement,
while retaining **all sidebar multi-session MCP features**, it also includes a **Cursor membership type switcher** (independent page, click to jump; original `Cursor Membership Switcher` project functionality transplant).
The plugin no longer depends on any card key/activation code/trial period, and can be used immediately after opening.
> Upstream project address: <https://github.com/a78789191888/wkmcp-pjb> (MIT License, this repository is a modified version for research and learning purposes only)
## Features
### 1. Sidebar Multi-Session MCP (Retained from wkmcp)
- Multi-project, multi-window parallel: up to 32 sessions (`my-mcp-1` … `my-mcp-32`), each bound to an independent message channel
- `check_messages` / `send_message` / `ask_question` three MCP tools, supporting attachments (images/files base64)
- One-click "Start Configuration" to write the current sidebar session list to the workspace `.cursor/mcp.json`
- Session notes, voice input (Windows), chat record persistence
### 2. Cursor Membership Switcher (Independent Page)
- **Independent settings page**: the sidebar only retains the entry button, and clicking it will open the complete settings page in the editing area (no longer occupying sidebar space)
- Automatic detection of Cursor installation path (running process + common directories)
- One-click switching of membership types: `Free` / `Free Trial` / `Pro` / `Pro+` / `Ultra` / `Enterprise`, also supports custom strings
- Original file automatic backup, can be restored with one click
- Automatic inquiry and closure of running Cursor before applying patches
- One-click restart Cursor
### 3. Cursor Billing and Usage (New, Independent Page)
- **Independent billing page**: add another "Open Billing and Usage" button to the sidebar, and open it in the editing area
- **Automatic reading of local `state.vscdb`**: directly get the currently logged-in Cursor account from `cursorAuth/accessToken` (no need to paste)
- **First installation → local record**: prioritize parsing `cursorDiskKV` in `composerData:*`, and use approximate character weight to estimate historical tokens for quick display
- **Subsequent each time → official interface**: mark `hasFetchedFromApi` after hitting, and no longer fall back to local cache
- **Called Cursor interface** (refer to Open Switch implementation and [tokscale](https://github.com/junhoyeo/tokscale)):
- `POST https://api2.cursor.sh/aiserver.v1.AuthService/GetUserMeta`
- `GET https://api2.cursor.sh/auth/full_stripe_profile`
- `GET https://cursor.com/api/usage-summary`
- `GET https://cursor.com/api/dashboard/export-usage-events-csv?strategy=tokens`
- **Displayed content**:
- Account information card: email, membership type, subscription status, WorkOS ID
- Overview KPI card: **today / this week / this month / total** $ consumption + token number + times
- Recent 30-day daily consumption bar chart (pure SVG, no chart library dependency)
- Model-subdivided table: times / input / output / cache read/write / total token / consumption $
- **Data source marking**: the page top badge clearly marks the current data from `Cursor interface (real-time)` / `local composerData (approximate)` / `local cache`
- Implementation details:
- Use embedded `sql.js` (pre-packaged wasm, about 690 KB) to read state.vscdb, only read and copy to Buffer, not locking Cursor
- Use Node built-in `https` to call the interface, without other npm runtime dependencies
- Interface failure automatic retry once (TLS / socket jitter tolerance)
## Build and Packaging
### Environment Requirements
- Node.js **18+** (need to bring your own `npm`)
- Windows / macOS / Linux are all supported; Windows is recommended to use PowerShell
- No need to install `vsce` globally, it has been pulled as `devDependencies` with the package (`@vscode/vsce`)
### One-Click Packaging
```bash
npm install # Install root dependencies + trigger postinstall to install mcp-server subpackage dependencies
npm run compile # 1) tsc -p . compile src/ → dist/ 2) execute scripts/copy-vendor.js
npm run package # Equivalent to compile + vsce package --no-dependencies --allow-missing-repository
```
After successful packaging, you will get in the repository root directory:
```
cursor-free-plus-1.4.0.vsix (version taken from package.json's "version")
```
## Usage
1. After installation, the Infinity Assistant icon will appear in the left activity bar. Click to open it.
2. Fill in the workspace path or "Use Current", click "Start Configuration" to write to `.cursor/mcp.json`.
3. Click "Cursor Membership Type → Open Membership Type Settings" button, select the type in the new page and "Apply Patch".
4. After the patch is completed, click "Restart Cursor" to take effect.
## Command Panel
- `Infinity Assistant: Configure Workspace (MCP)`
- `Infinity Assistant: Open Membership Type Settings`
- `Infinity Assistant: Open Billing and Usage`
- `Infinity Assistant: Apply Membership Patch`
- `Infinity Assistant: Restore Original Membership File`
- `Infinity Assistant: Detect Cursor Installation Path`
## Configuration Items
- `wukong.payStoreUrl`: the URL jumped to by the sidebar "Sponsor/Purchase", default `https://pay.ldxp.cn/shop/superman`
- `cursorFree.supportGroupQQ`: communication group QQ number, default `1087432681`
- `cursorFree.defaultMembership`: default selected membership type, default `pro`
> Other `wukong.*` configuration items are retained for compatibility with wkmcp upstream, but **no longer take effect** in the card-free version.
## Directory Structure
```
Cursor-free/
├── package.json # Extension manifest (commands, views, configurations, scripts all in this)
├── tsconfig.json # TypeScript compilation configuration (outDir = dist/)
├── .vscodeignore # vsce packaging exclusion list
├── src/ # TS source code (compiled to dist/ and then packed into vsix)
│ ├── extension.ts # Extension main entry (replicated from wkmcp + integrated membership switcher / billing UI)
│ ├── license.ts # Short-circuited license module (retained signature, all permanently activated)
│ └── cursor-patcher.ts # Membership patch logic (transplanted from Python project to Node)
├── scripts/
│ ├── copy-vendor.js # Copy sql.js wasm to dist/vendor/sql.js/
│ └── smoke-billing.js # Billing page interface / local data source smoke script
├── dist/ # Build output (into vsix is this + mcp-server/)
│ ├── extension.js
│ ├── license.js
│ ├── cursor-patcher.js
│ └── vendor/sql.js/ # sql-wasm.js + sql-wasm.wasm
├── mcp-server/
│ ├── index.mjs # MCP stdio server (retained as is)
│ └── package.json
├── resources/icon.svg
├── legacy-python/ # Original Python GUI project archive (not involved in packaging)
└── ref-wkmcp-pjb/ # wkmcp reference source (only for reference, not involved in packaging)
```
## Communication and Support
- QQ Communication Group: **1087432681**
- Sponsor / Purchase: <https://pay.ldxp.cn/shop/superman>
- Recommended · Cursor Official Number Pool: <https://infinity-site.cc-infinity.shop/>
## Acknowledgments and License
- **Upstream Original Project**: [a78789191888/wkmcp-pjb](https://github.com/a78789191888/wkmcp-pjb) (MIT License)
This project is modified based on the project for research and learning purposes, **for reference only**. Thanks to the original author's open-source contribution.
- Membership switching logic reference: archived code in `legacy-python/` of this repository
- Billing interface call reference: [junhoyeo/tokscale](https://github.com/junhoyeo/tokscale)
This repository follows the MIT license for secondary distribution of source code (see `LICENSE.txt`).
## Re-statement
- **This project is for learning, research, and technical exchange purposes only, and shall not be used for any illegal or commercial purposes.**
- This project is a modified version for research and learning purposes of [`a78789191888/wkmcp-pjb`](https://github.com/a78789191888/wkmcp-pjb), **for reference only**.
- Users should bear all risks (including but not limited to account risks, legal risks) caused by using this project,
**and the repository publisher/maintainer has no responsibility for any consequences**.
- Please delete within 24 hours after downloading, and support purchasing Cursor official subscription.
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.