MemorizedMCP / rules
Cursor rule8 starsChanged 14 months agoMITView on GitHub
Helps organize thoughts, break down problems, and build reasoning step by step. Allows safe interaction with files and directories within allowed paths.
Where files are headingNew Cursor rule files have more rules about planning and tracking tasks, and fewer about code style.
Of the Cursor rule files we read, the 4,183 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository3 other files it gives its agents.
The file
Show its rules and text
We split this guide-for-using-mcp-servers.mdc into the rules it gives an agent
27 rules. About 0 are common, 27 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈27
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 67
branch_thought: Create a branched path in reasoning from a previous step.
- Distinctive: line 74
revise_thought: Update or revise a previous thought.
- Distinctive: line 99
read_file: Read the contents of a file.
- Distinctive: line 106
read_multiple_files: Read several files at once.
- Distinctive: line 211
git_commit: Commit staged changes with a message.
- Distinctive: line 232
git_status: Check for changed or untracked files.
- Distinctive: line 320
run-react-app: Start the development server for an app.
- Distinctive: line 327
run-command: Run any shell command in a directory.
- Distinctive: line 341
stop-process: Stop a process by its ID.
- Distinctive: line 355
edit-file: Write or update file content.
- Distinctive: line 362
read-file: Read a specific file’s contents.
- Distinctive: line 392
run-node-script: Run a script file with arguments and input.
- Distinctive: line 576
new_page: Create a new page.
- Distinctive: line 608
performance_start_trace: Start a performance trace, optionally auto-reload/stop.
- Distinctive: line 616
performance_stop_trace: Stop active trace.
- Distinctive: line 646
wait_for: Wait for text to appear on the page.
- Distinctive: line 706
system.backup: Create a backup snapshot.
- Distinctive: line 786
kg.create_entity: Create or ensure an entity node exists.
- Distinctive: line 794
kg.create_relation: Create a relation between two nodes.
- Distinctive: line 802
kg.search_nodes: Search nodes by type and pattern.
- Distinctive: line 818
kg.tag_entity: Add tags to an entity.
- Distinctive: line 834
kg.remove_tag: Remove tags from an entity.
- Distinctive: line 842
kg.delete_entity: Delete an entity and its edges.
- Distinctive: line 850
kg.delete_relation: Delete a specific relation.
- Distinctive: line 858
memory.add: Add a memory; classify STM/LTM.
- Distinctive: line 878
memory.update: Update memory content/metadata.
- Distinctive: line 886
memory.delete: Delete a memory (optionally back up first).
≈ “Common” is an estimate: at least 1 in 5 of the 6,668 Cursor rule files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
---
description:
globs:
alwaysApply: true
---
# MCP Server AI Agent Usage Guide
## Table of Contents
- [MCP Server AI Agent Usage Guide](#mcp-server-ai-agent-usage-guide)
- [Table of Contents](#table-of-contents)
- [Sequential Thinking MCP Server](#sequential-thinking-mcp-server)
- [Purpose](#purpose)
- [Supported Operations](#supported-operations)
- [Additional Inputs](#additional-inputs)
- [FileSystem MCP Server](#filesystem-mcp-server)
- [Purpose](#purpose-1)
- [Supported Operations](#supported-operations-1)
- [Fetch MCP Server](#fetch-mcp-server)
- [Purpose](#purpose-2)
- [Supported Operations](#supported-operations-2)
- [Git MCP Server](#git-mcp-server)
- [Purpose](#purpose-3)
- [Supported Operations](#supported-operations-3)
- [ShadCN-UI MCP Server](#shadcn-ui-mcp-server)
- [Purpose](#purpose-4)
- [Supported Operations](#supported-operations-4)
- [React MCP Server](#react-mcp-server)
- [Purpose](#purpose-5)
- [Supported Operations](#supported-operations-5)
- [NodeJS MCP Server](#nodejs-mcp-server)
- [Purpose](#purpose-6)
- [Supported Operations](#supported-operations-6)
- [Chrome DevTools MCP Server](#chrome-devtools-mcp-server)
- [Purpose](#purpose-7)
- [Supported Operations](#supported-operations-7)
- [Grep MCP Server](#grep-mcp-server)
- [Purpose](#purpose-8)
- [Supported Operations](#supported-operations-8)
- [MemorizedMCP Server](#memorizedmcp-server)
- [Purpose](#purpose-9)
- [Supported Operations](#supported-operations-9)
## Sequential Thinking MCP Server
### Purpose
Helps organize thoughts, break down problems, and build reasoning step by step.
### Supported Operations
- **sequential_thought:** Submit a reasoning step or thought.
- Example:
```json
{ "thought": "Step 1: Identify the problem" }
```
- **progress_status:** Track progress within a sequence of thoughts.
- Example:
```json
{}
```
- **branch_thought:** Create a branched path in reasoning from a previous step.
- Example:
```json
{ "branchFromThought": 2, "branchId": "alternative1" }
```
- **revise_thought:** Update or revise a previous thought.
- Example:
```json
{ "revisesThought": 3, "thought": "Updated consideration for step 3" }
```
#### Additional Inputs
- `thought`: The current reasoning step.
- `nextThoughtNeeded`: Boolean for more steps.
- `thoughtNumber`: Current step index.
- `totalThoughts`: Planned total steps.
- Branching supports `branchFromThought` and `branchId`.
## FileSystem MCP Server
### Purpose
Allows safe interaction with files and directories within allowed paths.
### Supported Operations
- **read_file:** Read the contents of a file.
- Example:
```json
{ "path": "/projects/myfile.txt" }
```
- **read_multiple_files:** Read several files at once.
- Example:
```json
{ "paths": ["/projects/a.txt", "/projects/b.txt"] }
```
- **write_file:** Overwrite or create a file with desired content.
- Example:
```json
{ "path": "/projects/output.txt", "content": "Hello World" }
```
- **edit_file:** Apply specified edits to a file (use dryRun for safety).
- Example:
```json
{ "path": "/projects/config.json", "edits": [ { "oldText": "foo", "newText": "bar" } ], "dryRun": true }
```
- **create_directory:** Make a new directory, parents included.
- Example:
```json
{ "path": "/projects/newdir" }
```
- **list_directory:** Show files and folders inside a directory.
- Example:
```json
{ "path": "/projects" }
```
- **move_file:** Move or rename files and directories.
- Example:
```json
{ "source": "/projects/old.txt", "destination": "/projects/new.txt" }
```
- **search_files:** Recursively find files by pattern.
- Example:
```json
{ "path": "/projects", "pattern": "*.md" }
```
- **get_file_info:** Get details such as size and timestamps.
- Example:
```json
{ "path": "/projects/readme.md" }
```
- **list_allowed_directories:** Show which directories are accessible.
- Example:
```json
{}
```
## Fetch MCP Server
### Purpose
Fetches web content from URLs, returning plain text or markdown.
### Supported Operations
- **fetch:** Retrieve web page content as markdown or raw data.
- Example:
```json
{
"url": "https://example.com",
"max_length": 5000,
"start_index": 0,
"raw": false
}
```
- `url`: Required.
- `max_length`: Optional limit (default 5000 characters).
- `start_index`: Optional, starts at a specific index.
- `raw`: Optional, set to true for raw HTML/text.
## Git MCP Server
### Purpose
Allows automated version control on repositories including cloning, commits, status, and logs.
### Supported Operations
- **git_clone:** Clone a repository by URL to a destination.
- Example:
```json
{ "repo_url": "https://github.com/user/repo.git", "destination": "/projects/repo" }
```
- **git_commit:** Commit staged changes with a message.
- Example:
```json
{ "message": "Fix issue #123" }
```
- **git_push:** Push committed changes upstream.
- Example:
```json
{}
```
- **git_pull:** Pull the latest changes from the remote.
- Example:
```json
{}
```
- **git_status:** Check for changed or untracked files.
- Example:
```json
{}
```
- **git_log:** View recent commit history, optionally limit results.
- Example:
```json
{ "limit": 10 }
```
## ShadCN-UI MCP Server
### Purpose
Lets you access shadcn/ui v4 React components, code, demos, blocks, and metadata.
### Supported Operations
- **get_component:** Get a component’s source code.
- Example:
```json
{ "componentName": "button" }
```
- **get_component_demo:** See component usage examples.
- Example:
```json
{ "componentName": "button" }
```
- **list_components:** Show all available components.
- Example:
```json
{}
```
- **get_component_metadata:** Fetch dependencies or config for a component.
- Example:
```json
{ "componentName": "button" }
```
- **get_block:** Fetch a full UI block (like a signup or dashboard set).
- Example:
```json
{ "blockName": "dashboard-01" }
```
- **list_blocks:** List every block, grouped by type.
- Example:
```json
{}
```
- **get_directory_structure:** Show the component library directory tree.
- Example:
```json
{}
```
## React MCP Server
### Purpose
Automates full React project workflows: creation, file management, running, and process control.
### Supported Operations
- **create-react-app:** Make a new app, optionally with a template.
- Example:
```json
{ "name": "my-app", "template": "typescript", "directory": "/projects" }
```
- **run-react-app:** Start the development server for an app.
- Example:
```json
{ "projectPath": "/projects/my-app" }
```
- **run-command:** Run any shell command in a directory.
- Example:
```json
{ "command": "npm run build", "directory": "/projects/my-app" }
```
- **get-process-output:** Get output logs from a running process.
- Example:
```json
{ "processId": "123456" }
```
- **stop-process:** Stop a process by its ID.
- Example:
```json
{ "processId": "123456" }
```
- **list-processes:** Show all current running processes.
- Example:
```json
{}
```
- **edit-file:** Write or update file content.
- Example:
```json
{ "filePath": "/projects/my-app/src/App.js", "content": "// new code" }
```
- **read-file:** Read a specific file’s contents.
- Example:
```json
{ "filePath": "/projects/my-app/src/App.js" }
```
- **install-package:** Install an npm package, optional dev flag.
- Example:
```json
{ "packageName": "react-router-dom", "directory": "/projects/my-app", "dev": true }
```
- **check-installation-status:** Review package installation state.
- Example:
```json
{ "processId": "987654" }
```
## NodeJS MCP Server
### Purpose
Controls and automates execution of Node.js scripts, npm scripts, and direct eval code.
### Supported Operations
- **run-node-script:** Run a script file with arguments and input.
- Example:
```json
{
"scriptPath": "/scripts/my-script.js",
"nodeArgs": [],
"args": ["arg1", "arg2"],
"stdin": "input data",
"cwd": "/projects"
}
```
- **run-npm-script:** Execute scripts from a package.json in a directory.
- Example:
```json
{
"packageDir": "/projects/my-app",
"scriptName": "start",
"args": [],
"stdin": ""
}
```
- **run-node-eval:** Evaluate JavaScript code within Node.js.
- Example:
```json
{
"code": "console.log('Hello world')",
"evalDirectory": "/projects/my-app",
"stdin": ""
}
```
- **node-version:** Get information about the Node.js runtime.
- Example:
```json
"node-version://info"
```
- **npm-scripts:** List possible npm scripts for a directory.
- Example:
```json
"npm-scripts:///projects/my-app"
```
## Chrome DevTools MCP Server
### Purpose
Automates Chrome debugging and page interaction via the DevTools Protocol. Enables navigation, DOM actions, network inspection, performance tracing, and screenshots.
### Supported Operations
- **list_console_messages:** List all console messages for the currently selected page.
- Example:
```json
{}
```
- **emulate_cpu:** Emulate CPU throttling.
- Inputs: `throttlingRate` (number, 1-20)
- Example:
```json
{ "throttlingRate": 4 }
```
- **emulate_network:** Emulate network conditions.
- Inputs: `throttlingOption` ("No emulation" | "Slow 3G" | "Fast 3G" | "Slow 4G" | "Fast 4G")
- Example:
```json
{ "throttlingOption": "Fast 3G" }
```
- **click:** Click an element.
- Inputs: `uid` (string), `dblClick` (optional boolean)
- Example:
```json
{ "uid": "el_123" }
```
- **drag:** Drag an element onto another.
- Inputs: `from_uid` (string), `to_uid` (string)
- Example:
```json
{ "from_uid": "el_item", "to_uid": "el_dropzone" }
```
- **fill:** Type into an input/textarea or select an option.
- Inputs: `uid` (string), `value` (string)
- Example:
```json
{ "uid": "el_email", "value": "user@example.com" }
```
- **fill_form:** Fill multiple elements at once.
- Inputs: `elements`: [{ `uid`, `value` }]
- Example:
```json
{ "elements": [ { "uid": "el_email", "value": "user@example.com" }, { "uid": "el_pwd", "value": "secret" } ] }
```
- **hover:** Hover over an element.
- Inputs: `uid` (string)
- Example:
```json
{ "uid": "el_menu" }
```
- **upload_file:** Upload a file via an input.
- Inputs: `uid` (string), `filePath` (string)
- Example:
```json
{ "uid": "el_file", "filePath": "C:/path/file.png" }
```
- **get_network_request:** Get a specific network request by URL.
- Inputs: `url` (string)
```json
{ "url": "https://example.com/api/data" }
```
- **list_network_requests:** List network requests with optional filtering.
- Inputs: `pageSize` (optional number), `pageIdx` (optional number), `resourceTypes` (optional array)
- Example:
```json
{ "pageSize": 50, "resourceTypes": ["xhr", "fetch"] }
```
- **close_page:** Close a page by index (cannot close the last open page).
- Inputs: `pageIdx` (number)
- Example:
```json
{ "pageIdx": 1 }
```
- **handle_dialog:** Accept/dismiss browser dialogs.
- Inputs: `action` ("accept" | "dismiss"), `promptText` (optional)
- Example:
```json
{ "action": "accept" }
```
- **list_pages:** List open pages.
- Example:
```json
{}
```
- **navigate_page:** Navigate the selected page to a URL.
- Inputs: `url` (string)
- Example:
```json
{ "url": "https://example.com" }
```
- **navigate_page_history:** Go back or forward in history.
- Inputs: `navigate` ("back" | "forward")
- Example:
```json
{ "navigate": "back" }
```
- **new_page:** Create a new page.
- Inputs: `url` (string)
- Example:
```json
{ "url": "https://example.com" }
```
- **resize_page:** Resize the window of the selected page.
- Inputs: `width` (number), `height` (number)
- Example:
```json
{ "width": 1280, "height": 800 }
```
- **select_page:** Select a page by index.
- Inputs: `pageIdx` (number)
- Example:
```json
{ "pageIdx": 0 }
```
- **performance_analyze_insight:** Get details on a specific performance insight.
- Inputs: `insightName` (string)
- Example:
```json
{ "insightName": "DocumentLatency" }
```
- **performance_start_trace:** Start a performance trace, optionally auto-reload/stop.
- Inputs: `reload` (boolean), `autoStop` (boolean)
- Example:
```json
{ "reload": true, "autoStop": true }
```
- **performance_stop_trace:** Stop active trace.
- Example:
```json
{}
```
- **take_screenshot:** Screenshot page or element.
- Inputs: `format` ("png" | "jpeg"), `uid` (optional string), `fullPage` (optional boolean)
- Example:
```json
{ "format": "png", "fullPage": true }
```
- **evaluate_script:** Evaluate JS on the selected page.
- Inputs: `function` (stringified function), `args` (optional array of element refs)
- Example:
```json
{ "function": "() => document.title" }
```
- **take_snapshot:** Capture a text snapshot of the page to obtain element UIDs.
- Example:
```json
{}
```
- **wait_for:** Wait for text to appear on the page.
- Inputs: `text` (string)
- Example:
```json
{ "text": "Welcome" }
```
## Grep MCP Server
### Purpose
Searches over a large index of public GitHub repositories. Returns code snippets matching patterns with filters for language, repository, and file path.
### Supported Operations
- **grep-search:** Execute a code search.
- Inputs:
- `query` (string): literal code or regex pattern
- `matchCase` (optional boolean)
- `matchWholeWords` (optional boolean)
- `useRegexp` (optional boolean)
- `repo` (optional string)
- `path` (optional string)
- `language` (optional string[])
- Example (regex across languages):
```json
{
"query": "(?s)server\\.tool.*catch",
"language": ["TypeScript", "JavaScript"],
"useRegexp": true
}
```
## MemorizedMCP Server
### Purpose
Provides a hybrid memory system (knowledge graph + embeddings + full‑text + documentary memory) for agents to store and retrieve information with rich relationships.
### Supported Operations
- **system.status:** Return health and runtime metrics (uptime, indices, storage, metrics, memory, health).
- Example:
```json
{}
```
- **system.cleanup:** Maintenance cleanup.
- Inputs: `reindex` (boolean), `compact` (boolean)
- Example:
```json
{ "reindex": false, "compact": true }
```
- **system.backup:** Create a backup snapshot.
- Inputs: `destination` (optional string), `includeIndices` (boolean)
- Example:
```json
{ "destination": "./backups", "includeIndices": true }
```
- **system.restore:** Restore from snapshot.
- Inputs: `source` (string), `includeIndices` (boolean)
- Example:
```json
{ "source": "./backups/2025-09-27", "includeIndices": true }
```
- **document.store:** Ingest PDF/Markdown/Text; parse and index.
- Inputs: `path` (optional string), `mime` (optional "pdf"|"md"|"txt"), `content` (optional string), `metadata` (object)
- Example:
```json
{ "mime": "md", "content": "# Title\nHello" }
```
- **document.retrieve:** Retrieve document by id/hash/path.
- Inputs: one of `id` | `hash` | `path`
- Example:
```json
{ "id": "DOC_123" }
```
- **document.analyze:** Get key concepts, entities, summary, related docs.
- Inputs: `id` (string)
- Example:
```json
{ "id": "DOC_123" }
```
- **document.refs_for_memory:** List document refs associated with a memory.
- Inputs: `id` (memory id)
- Example:
```json
{ "id": "MEM_123" }
```
- **document.refs_for_document:** List memories referencing a document.
- Inputs: `id` (document id)
- Example:
```json
{ "id": "DOC_123" }
```
- **document.validate_refs:** Validate/correct memory↔document references.
- Inputs: `fix` (boolean)
- Example:
```json
{ "fix": true }
```
- **kg.list_entities:** List top entities by mention count.
- Inputs: `limit` (number)
- Example:
```json
{ "limit": 50 }
```
- **kg.get_entity:** Get detailed information about an entity.
- Inputs: `entity` (string)
- Example:
```json
{ "entity": "Python" }
```
- **kg.create_entity:** Create or ensure an entity node exists.
- Inputs: `entity` (string)
- Example:
```json
{ "entity": "Python" }
```
- **kg.create_relation:** Create a relation between two nodes.
- Inputs: `src` (string), `dst` (string), `relation` (string, optional)
- Example:
```json
{ "src": "Entity::Python", "dst": "Document::abc123", "relation": "MENTIONS" }
```
- **kg.search_nodes:** Search nodes by type and pattern.
- Inputs: `type` (string, optional), `pattern` (string, optional), `limit` (number)
- Example:
```json
{ "type": "Entity", "pattern": "python", "limit": 10 }
```
- **kg.read_graph:** Get graph snapshot with configurable limit.
- Inputs: `limit` (number)
- Example:
```json
{ "limit": 100 }
```
- **kg.tag_entity:** Add tags to an entity.
- Inputs: `entity` (string), `tags` (array of strings)
- Example:
```json
{ "entity": "Python", "tags": ["language", "backend"] }
```
- **kg.get_tags:** Get all tags or entities by a specific tag.
- Inputs: `tag` (string, optional)
- Example:
```json
{ "tag": "language" }
```
- **kg.remove_tag:** Remove tags from an entity.
- Inputs: `entity` (string), `tags` (array of strings)
- Example:
```json
{ "entity": "Python", "tags": ["backend"] }
```
- **kg.delete_entity:** Delete an entity and its edges.
- Inputs: `entity` (string)
- Example:
```json
{ "entity": "Python" }
```
- **kg.delete_relation:** Delete a specific relation.
- Inputs: `src` (string), `dst` (string), `relation` (string, optional)
- Example:
```json
{ "src": "Entity::Python", "dst": "Document::abc123", "relation": "MENTIONS" }
```
- **memory.add:** Add a memory; classify STM/LTM; optionally link docs.
- Inputs: `content` (string), `metadata` (object, optional), `references` (array of { `docId` (string), `chunkId` (optional string), `score` (optional number) }), `layer_hint` ("STM"|"LTM"), `session_id` (optional string), `episode_id` (optional string)
- Example:
```json
{
"content": "User prefers dark mode",
"references": [ { "docId": "DOC_123", "chunkId": "2" } ],
"layer_hint": "STM"
}
```
- **memory.search:** Hybrid search with temporal filters.
- Inputs: `q` (string), `limit` (number), `layer` (optional "STM"|"LTM"), `episode` (optional string), `from` (epoch ms), `to` (epoch ms)
- Example:
```json
{ "q": "dark mode", "limit": 20 }
```
- **memory.update:** Update memory content/metadata.
- Inputs: `id` (string), `content` (optional string), `metadata` (optional object)
- Example:
```json
{ "id": "MEM_123", "content": "Updated preference" }
```
- **memory.delete:** Delete a memory (optionally back up first).
- Inputs: `id` (string), `backup` (boolean)
- Example:
```json
{ "id": "MEM_123", "backup": true }
```
- **advanced.consolidate:** Promote STM → LTM, deduplicate salient memories.
- Inputs: `dryRun` (boolean), `limit` (number)
- Example:
```json
{ "dryRun": false, "limit": 100 }
```
- **advanced.analyze_patterns:** Mine recurring concepts and trends.
- Inputs: `window` ({ `from`: number, `to`: number }), `minSupport` (number)
- Example:
```json
{ "window": { "from": 0, "to": 4102444800000 }, "minSupport": 2 }
```
- **advanced.reindex:** Rebuild indices.
- Inputs: `vector` (boolean), `text` (boolean), `graph` (boolean)
- Example:
```json
{ "vector": true, "text": true, "graph": true }
```
- **advanced.trends:** Time-bucketed memory counts.
- Inputs: `from` (number), `to` (number), `buckets` (number)
- Example:
```json
{ "from": 0, "to": 4102444800000, "buckets": 10 }
```
- **advanced.clusters:** Document clusters.
- Inputs: `{}`
- Example:
```json
{}
```
- **advanced.relationships:** Relationship group counts.
- Inputs: `{}`
- Example:
```json
{}
```
- **advanced.effectiveness:** Memory effectiveness scores.
- Inputs: `{}`
- Example:
```json
{}
```Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

