Skip to main content
Glama
README.md
# ExisJS MCP Server

[![npm @exisjs/mcp package](https://img.shields.io/npm/v/@exisjs/mcp.svg)](https://npmjs.org/package/@exisjs/mcp)

`@exisjs/mcp` is a Model Context Protocol (MCP) server that connects AI coding agents like Claude and Cursor directly to your ExisJS projects.

It provides your AI assistant with the ability to dynamically read the local ExisJS framework documentation and flawlessly scaffold idiomatic ExisJS boilerplate code (routes, plugins, boundaries, configurations).

## Requirements

- [Node.js](https://nodejs.org/) v20.19 or a newer [LTS](https://github.com/nodejs/Release#release-schedule) version
- [npm](https://www.npmjs.com/)

## Install

Install for all your coding agents with [`add-mcp`](https://www.npmjs.com/package/add-mcp):

```bash
npx add-mcp @exisjs/mcp@latest
```

Add `-y` to skip the prompt and install to all detected agents. Add `-g` to install globally across all projects.

Or add the config to your MCP client manually:

```json
{
  "mcpServers": {
    "exisjs-mcp": {
      "command": "npx",
      "args": ["-y", "@exisjs/mcp@latest"]
    }
  }
}
```

> [!NOTE]
> `@exisjs/mcp@latest` keeps your client on the latest version.

### Client-specific setup

<details>
<summary>Claude Code</summary>

```bash
claude mcp add exisjs-mcp npx @exisjs/mcp@latest
```

Or edit your MCP settings file with the config above.

</details>

<details>
<summary>Cursor</summary>

Go to `Cursor Settings` → `MCP` → `New MCP Server` and use the config above.

</details>

<details>
<summary>Google Antigravity</summary>

Add to `.gemini/antigravity/mcp_config.json`:

```json
{
  "mcpServers": {
    "exisjs-mcp": {
      "command": "npx",
      "args": ["-y", "@exisjs/mcp@latest"]
    }
  }
}
```

</details>

<details>
<summary>VS Code / Copilot</summary>

```bash
code --add-mcp '{"name":"exisjs-mcp","command":"npx","args":["-y","@exisjs/mcp@latest"]}'
```

</details>

## Tools

| Tool                     | What it does                                                                              |
| ------------------------ | ----------------------------------------------------------------------------------------- |
| `exis_list_local_docs`   | Recursively scans and lists all ExisJS Markdown documentation from `node_modules` or local repo. |
| `exis_read_local_docs`   | Reads a specific documentation page so the AI can understand ExisJS best practices.       |
| `exis_generate_route`    | Scaffolds an idiomatic ExisJS route controller module (functional or OOP style).           |
| `exis_generate_boundary` | Scaffolds an ExisJS boundary (`boundary.ts`) with dual config and auto-detected pipeline.  |
| `exis_generate_schema`   | Scaffolds an ExisJS validation schema using the native `tex` builder and `ResolveSchema`. |
| `exis_generate_plugin`   | Scaffolds a hybrid ExisJS plugin module.                                                  |
| `exis_generate_config`   | Scaffolds the `exis.config.ts` configuration system.                                      |

<details>
<summary>Documentation Readers</summary>

ExisJS ships its official documentation right inside its npm package. `exis_list_local_docs` searches `node_modules/exisjs/dist/docs/` (or your repository docs folder) to list the topics, and `exis_read_local_docs` passes that exact file back to the AI. This prevents AI hallucination and ensures it writes perfect framework code based on your exact installed version.

</details>

<details>
<summary>Generators</summary>

The generation tools (`route`, `boundary`, `schema`, `plugin`, `config`) ensure that when you ask your AI to build something, it strictly adheres to ExisJS's `controller` / `defineBoundary` / `tex` design paradigms instead of guessing Express or NestJS syntaxes.

</details>

## Local Development

```bash
git clone https://github.com/v25group/exisjs-mcp.git
cd exisjs-mcp
npm install
npm run build
```

Point your MCP client at the local build:

```json
{
  "mcpServers": {
    "exisjs-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/exisjs-mcp/dist/index.js"]
    }
  }
}
```

## License

MIT

TDQS

A3.8/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct file type or action: boundary, schema, config, plugin, route, and docs listing/reading. No overlapping purposes, so an agent can easily select the correct tool.

Naming Consistency5/5

All tools follow the consistent pattern exis_<verb>_<object>, with verbs generate, list, and read. This predictable naming makes the tool surface easy to navigate.

Tool Count5/5

Seven tools is well within the ideal range and matches the server's scope of scaffolding ExisJS project files and providing documentation. Each tool earns its place without redundancy.

Completeness5/5

The set covers the main generation needs for ExisJS (boundary, schema, config, plugin, route) and provides documentation access. No obvious missing operations for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues