parse-mcp-server
# @asaje/parse-mcp-server
[](https://www.npmjs.com/package/@asaje/parse-mcp-server)
[](https://opensource.org/licenses/MIT)
A comprehensive Model Context Protocol (MCP) server for Parse Server and the Parse JS SDK. This server provides complete integration with the Parse Platform, enabling AI assistants to interact with Parse databases, users, files, and more.
## Features
### Tools
#### Objects (CRUD Operations)
- **create-object** - Create a new object in a Parse class
- **get-object** - Retrieve an object by its ID
- **update-object** - Update an existing object
- **delete-object** - Delete an object by its ID
- **query-objects** - Query objects with filters, sorting, and pagination
#### Users
- **signup-user** - Register a new user
- **login-user** - Authenticate a user
- **logout-user** - Log out the current user
- **get-current-user** - Get the currently authenticated user
- **update-user** - Update user information
- **delete-user** - Delete a user account
- **request-password-reset** - Send password reset email
- **query-users** - Query users with filters
#### Files
- **upload-file** - Upload a file (base64 or URL)
- **delete-file** - Delete a file
- **get-file-url** - Get the URL of a file
#### Roles
- **create-role** - Create a new role
- **get-role** - Get role information
- **add-users-to-role** - Add users to a role
- **remove-users-from-role** - Remove users from a role
- **query-roles** - Query all roles
#### Schema
- **get-schema** - Get schema for a class
- **get-all-schemas** - Get all schemas
- **create-class** - Create a new class with fields
- **add-field** - Add a field to an existing class
- **delete-field** - Delete a field from a class
- **delete-class** - Delete a class
#### Config
- **get-config** - Get Parse Config parameters
- **set-config** - Set Parse Config parameters
#### Cloud Code
- **run-cloud-function** - Execute a Cloud Code function
#### Live Queries
- **subscribe-query** - Subscribe to real-time query updates
#### Advanced Queries
- **aggregate** - Run aggregation pipeline queries
- **distinct** - Get distinct values for a field
### Resources
- **parse://docs/getting-started** - Getting started guide
- **parse://docs/objects** - Objects documentation
- **parse://docs/queries** - Queries documentation
- **parse://docs/users** - Users documentation
- **parse://docs/files** - Files documentation
- **parse://docs/roles** - Roles and ACL documentation
- **parse://docs/cloud-code** - Cloud Code documentation
- **parse://docs/live-queries** - Live Queries documentation
- **parse://docs/schema** - Schema documentation
- **parse://docs/security** - Security best practices
## Installation
### From npm (recommended)
```bash
npm install -g @asaje/parse-mcp-server
```
### From source
```bash
git clone https://github.com/asaje/parse-mcp-server.git
cd parse-mcp-server
npm install
npm run build
```
## Configuration
The server requires the following environment variables:
```bash
PARSE_SERVER_URL=http://localhost:1337/parse
PARSE_APP_ID=your_app_id
PARSE_JAVASCRIPT_KEY=your_javascript_key # Optional
PARSE_MASTER_KEY=your_master_key # Required for admin operations
```
## Usage with Claude Desktop
Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"parse": {
"command": "npx",
"args": ["@asaje/parse-mcp-server"],
"env": {
"PARSE_SERVER_URL": "http://localhost:1337/parse",
"PARSE_APP_ID": "your_app_id",
"PARSE_MASTER_KEY": "your_master_key"
}
}
}
}
```
Or if installed globally:
```json
{
"mcpServers": {
"parse": {
"command": "parse-mcp-server",
"env": {
"PARSE_SERVER_URL": "http://localhost:1337/parse",
"PARSE_APP_ID": "your_app_id",
"PARSE_MASTER_KEY": "your_master_key"
}
}
}
}
```
## Usage with Windsurf/Cascade
Add to your MCP settings:
```json
{
"parse-mcp-server": {
"command": "npx",
"args": ["@asaje/parse-mcp-server"],
"env": {
"PARSE_SERVER_URL": "http://localhost:1337/parse",
"PARSE_APP_ID": "your_app_id",
"PARSE_MASTER_KEY": "your_master_key"
}
}
}
```
## Examples
### Create an object
```
Tool: create-object
Arguments: {
"className": "GameScore",
"data": {
"score": 1337,
"playerName": "Sean Plott",
"cheatMode": false
}
}
```
### Query objects with filters
```
Tool: query-objects
Arguments: {
"className": "GameScore",
"where": {
"score": { "$gt": 1000 }
},
"order": "-score",
"limit": 10
}
```
### Create a user
```
Tool: signup-user
Arguments: {
"username": "john_doe",
"password": "securepassword",
"email": "john@example.com",
"additionalFields": {
"displayName": "John Doe"
}
}
```
## License
MIT
TDQS
Scored across 39 tools
Each tool targets a distinct resource type and action, with clear separation between object, user, role, schema, file, config, relation, batch, and geo operations. Even similar tools like query-near and query-within-box are clearly differentiated by their spatial semantics.
All tool names consistently follow a verb-noun pattern using lowercase and hyphens (e.g., create-object, get-schema, add-users-to-role). Multi-word actions maintain a uniform structure, making the API predictable and easy to navigate.
At 39 tools, the server offers an extensive surface that exceeds the recommended range for typical MCP servers. While each tool is purposeful, the sheer number makes the toolkit feel heavy and may increase the cognitive load for agents.
The tool set provides comprehensive coverage of Parse Server capabilities, including full CRUD for objects and users, file management, role-based access control, schema operations, configuration, aggregation, relations, and geo queries. There are no significant gaps that would prevent completing core workflows.