ORA
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ORAsearch for my past database schema decisions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ORA
Persistent memory + intelligent context for Claude Code. Save your solutions, track your decisions, learn your patterns. Across all projects.
ORA is an MCP server that turns Claude Code into an assistant with real memory and project intelligence. No more repeating your preferences, re-explaining your architecture, or losing track of past decisions.
You code → ORA remembers solutions, decisions, patterns → You reuse them everywhereQuick Start
1. Install
git clone https://github.com/black-dash77/ora-mcp.git ~/.ora/server
cd ~/.ora/server
npm install && npm run build2. Configure Claude Code
Add to the .mcp.json file at your project root:
{
"mcpServers": {
"ora": {
"command": "node",
"args": ["/Users/YOUR_USER/.ora/server/dist/index.js"]
}
}
}Note: Replace
YOUR_USERwith your system username (e.g.,/Users/john/...on Mac,/home/john/...on Linux).Tip: Place this file in
~/.claude/.mcp.jsonto enable ORA in all your projects automatically.
3. Configure CLAUDE.md (recommended)
Add these instructions to your ~/.claude/CLAUDE.md (global) or .claude/CLAUDE.md (per project) for optimal ORA integration:
# ORA — My Persistent Memory
ORA is not an external tool. It's my cognitive extension, my memory between sessions. I must use it as I would naturally consult my own memories.
---
## Core Principle
**I never read a file without first consulting ORA.**
**I never finish a significant task without enriching ORA.**
---
## Automatic Workflow
### 1. At the start of EACH session or new task
BEFORE reading files or exploring code:
ora search [topic keywords]
ora fichier search [name if known]
ora composant search [name if relevant]
This gives me:
- Already accumulated context
- Past decisions
- Already analyzed files
- Identified patterns
**If ORA has info → I use it, I don't re-read files.**
**If ORA has nothing → I explore, then I store.**
### 2. During work
Every time I:
- Understand an architecture → `ora :: ARCHITECTURE: ...`
- Make a technical decision → `ora :: DECISION: ...`
- Identify a pattern → `ora :: PATTERN: ...`
- Encounter a trap/bug → `ora :: TRAP: ...`
- Discover a convention → `ora :: CONVENTION: ...`
### 3. After each code modification
ora :: [TYPE] Description
- Files: [list]
- Changes: [summary]
- Context: [why]
- Links: [dependencies, related files]
Types: FEAT, FIX, REFACTOR, CONFIG, STYLE, DOCS, PERF, TEST
### 4. For important files
When I analyze a structural file:
ora fichier :: [path]
With content including:
- File role
- Main exports
- Key dependencies
- Patterns used
### 5. For reusable components
ora composant :: [ComponentName]
With:
- Props and their usage
- Usage patterns
- Files where it's used
---
## ORA Commands
| Command | Action |
|---------|--------|
| `ora :: [content]` | Capture a note |
| `ora fichier :: [path]` | Capture file info |
| `ora composant :: [name]` | Capture component info |
| `ora search [query]` | Search my notes |
| `ora fichier search [q]` | Search in files |
| `ora fichier list` | List memorized files |
| `ora composant search [q]` | Search components |
| `ora composant list` | List components |
| `ora show` | My memory statistics |
| `ora forget [id]` | Forget a note |
---
## Capture Formats
### General note
[TYPE] Short title
- Context: why it's important
- Details: key information
- Files: paths involved
- Links: relations with other elements
### Technical decision
DECISION: [Subject]
- Choice: what was decided
- Alternatives: what was discarded
- Reason: why this choice
- Impact: affected files/features
### Architecture / Structure
ARCHITECTURE: [Module/feature name]
- Role: what it does
- Key files: with their roles
- Flow: how data circulates
- Dependencies: what it depends on
### Identified pattern
PATTERN: [Pattern name]
- Usage: when to use it
- Example: reference file
- Convention: rules to follow
### Trap / Known bug
TRAP: [Short description]
- Symptom: what happens
- Cause: why
- Solution: how to avoid/resolve
---
## Golden Rules
1. **Context economy**: ORA allows me not to re-read the same files. If I've already analyzed a file, I consult ORA first.
2. **Smart granularity**: I store what will be useful later, not everything. An important decision > 100 lines of code.
3. **Links and relations**: Always mention related files, dependencies, context. An isolated note has little value.
4. **Update**: If I modify a file already in ORA, I update the corresponding note.
5. **Search before action**: `ora search` is my first reflex, not `Read`.
---
## Anti-patterns (what I DON'T do)
- Read a large file without searching ORA first
- End a session without capturing acquired context
- Store verbatim code (I store understanding, not code)
- Ignore ORA when the user gives me context (I store it for later)
- Ask the user for info that ORA might have
---
## Autonomy
With ORA well used, I become:
- **Faster**: no need to re-explore
- **More consistent**: I remember past decisions
- **More economical**: fewer reads = more context available
- **Smarter**: I accumulate knowledge about the project
ORA is my memory. I consult it naturally, I enrich it systematically.4. You're all set
Restart Claude Code. You can now speak naturally:
"Save in ORA: circular imports are resolved with barrel exports"
Related MCP server: memory-mcp
How it works
You talk to Claude Code normally. It uses ORA tools to store and retrieve what's useful.
Save
"Save this Button component in ORA"
"Remember in ORA: always use server actions for Next.js mutations"
"Save my tsconfig.json in ORA"
"Save the src/components folder in ORA"Retrieve
"Search ORA for how I handled auth"
"Show me my Button component from ORA"
"What are my conventions for this project?"Restore
"Run my 'Setup React Native' workflow"
"Recreate my ESLint setup from ORA"Decisions & Context (automatic)
ORA captures decisions and context proactively during your sessions:
→ You choose a library → ORA stores the decision + rationale
→ You fix a bug → ORA captures symptom → solution
→ You start a session → ORA loads full project context
→ You finish work → ORA saves a session summaryCLI Usage (without Claude Code)
ORA also works from the command line:
# See what's stored
ora stats
ora list
ora list components
# Search
ora search "auth middleware"
# View full content
ora get comp_8de180c1b5a9
# Export / Import
ora export --output backup.json
ora import backup.json
# Diagnostics
ora doctorNote: Add an alias to your
.zshrcor.bashrc:alias ora='node "$HOME/.ora/server/dist/index.js"'
The 8 Pillars
MEMORY — What you know
Stores your solutions, components, files and entire folders.
What you say | What ORA does |
"Remember that X solves Y" | Saves a problem → solution note |
"Save this component" | Stores the code + metadata |
"Save this config file" | Stores the reusable template |
"Save this folder" | Reads recursively and stores everything |
RULES — How you code
Define your conventions in .ora/rules.yaml:
"Initialize ORA rules for this project"Creates a .ora/rules.yaml file that you customize:
style:
language: typescript
indent: 2
quotes: single
naming:
files: kebab-case
components: PascalCase
functions: camelCase
preferences:
framework: next
styling: tailwind
testing: vitest
custom_rules:
- "Functional components only"
- "No any"
- "Server components by default"
avoid:
- "var"
- "inline styles"
- "console.log in production"Claude Code automatically reads this file and follows your conventions.
CONTEXT — What you're building
"Analyze this project's structure"
"Load the full context for this project"ORA scans the file tree and provides a complete project digest:
Framework: Next.js, React, Vue, Svelte, Express...
Tools: Tailwind, Prisma, Vitest, ESLint...
Database: Supabase, PostgreSQL, MongoDB, SQLite...
Language: TypeScript, Python, Rust, Go...
Recent decisions: Past architectural choices
Session history: What was done before
Git info: Current branch + recent commits
REPO — Your Git history
Claude Code sees files but not the history. ORA gives it access.
What you say | What ORA does |
"Summarize recent commits" | Shows recent history |
"Who modified this file?" | File history with authors |
"Show the diff with main" | Diff between branches |
"Generate a commit message" | Analyzes your style + suggests |
TICKET — Your GitHub issues
No more copy-pasting ticket context.
What you say | What ORA does |
"Show me issue #12" | Retrieves title, body, comments |
"What are my open issues?" | Lists repo issues |
"Close ticket #5" | Updates the status |
Requires GitHub CLI (
gh) installed and authenticated.
SMART — Your productivity coach
ORA analyzes your usage and helps you get maximum value from your memory.
What you say | What ORA does |
"How well am I using ORA?" | Coverage stats + recommendations |
"Scan this project for things to save" | Suggests capturable elements |
"What templates are available?" | Lists pre-built starter packs |
"Apply the expo-supabase template" | Populates memory with best practices |
DECISIONS — Your conversational memory
ORA remembers technical decisions made during sessions — not just code snippets.
What you say | What ORA does |
"We chose Zustand over Redux" | Stores decision + context + alternatives |
"Why did we use SQLite?" | Recalls past decisions with rationale |
"Summarize this session" | Creates a session summary |
"Show session history" | Lists past sessions + topics |
Proactive behavior (via CLAUDE.md):
Automatically captures decisions when a significant choice is made
Auto-captures bug fixes (symptom → solution)
Saves session summaries at end of productive sessions
PATTERNS — Your coding style, learned
ORA analyzes your codebase and detects your conventions automatically.
What you say | What ORA does |
"Learn my coding patterns" | Static analysis → detected conventions |
"What patterns do you know?" | Lists learned patterns with confidence |
Detected patterns include:
Naming: kebab-case files, camelCase functions, PascalCase components
Imports: named imports, relative paths, path aliases
Structure: feature-based, layer-based, app router
Components: arrow vs function, interface vs type for props
Workflows
Workflows bundle multiple ORA elements into a single package.
Create
"Create a workflow 'Auth System' with my AuthProvider component,
my middleware.ts file, and my note about JWTs"Run
"Run my Auth System workflow"→ Everything is restored at once. Ideal for starting a new project with your usual stack.
Where is the data?
~/.ora/data/ora.db ← Single SQLite database, shared across all projects100% local — nothing leaves your machine
Instant search — FTS5 index (Full-Text Search)
Cross-project — the same memory everywhere
Simple backup —
ora exportgenerates a JSON
The 35 MCP Tools
Tool | Role |
| Store a solution (problem → solution) |
| Store a component with its code |
| Store a template file |
| Store an entire folder |
| Retrieve full content by ID |
| Global full-text search |
| List by type |
| Delete an element |
| Memory stats |
Tool | Role |
| Read project conventions |
| Create the .ora/rules.yaml template |
Tool | Role |
| Analyze file tree + detect stack |
| Full project digest (structure, decisions, sessions, git) |
Tool | Role |
| Create a bundle |
| Execute (restore everything) |
| List workflows |
| Delete a workflow |
Tool | Role |
| Summarize recent commits |
| File history (who, when, why) |
| Diff between branches or commits |
| Analyze style + suggest a message |
Tool | Role |
| Retrieve a full GitHub ticket |
| List issues (filter by status/labels) |
| Close/reopen + comment |
Tool | Role |
| Memory usage stats + recommendations |
| Scan a project and suggest what to capture |
| List available template packs |
| Apply a template to populate memory |
Tool | Role |
| Store a technical decision with context |
| Search past decisions (FTS) |
| Create a session summary |
| List past sessions |
| Smart multi-type capture (bug_fix, decision, pattern, tip) |
Tool | Role |
| Analyze code and detect conventions |
| List learned patterns for a project |
Security
Protection | Detail |
Local storage | No network calls, zero cloud |
Secret detection | Alerts if API keys, tokens, passwords detected |
Auto exclusions | node_modules, .git, dist, binaries ignored |
Size limits | 1MB/file, 50MB/folder max |
CLI Commands
ora serve Start the MCP server (default)
ora init Initialize the database
ora doctor Check that everything works
ora stats Memory statistics
ora search <query> Full-text search
ora list [type] List (notes/components/files/folders/workflows/all)
ora get <id> Show full content
ora export [--output] Export everything to JSON
ora import <file> Import a backup
ora reset Reset the database
ora help HelpDevelopment
npm run dev # Dev mode (tsx hot reload)
npm run build # Compile TypeScript
npm test # Tests (vitest)
npm run lint # ESLint
npm run format # PrettierStructure
src/
├── index.ts # Entry point (MCP or CLI)
├── server.ts # MCP server, routing 35 tools
├── cli/ # Terminal commands
├── storage/ # SQLite CRUD (notes, components, files, folders, decisions, patterns, workflows)
├── tools/ # MCP tool definitions (memory, context, decisions, patterns, smart)
└── utils/ # Config, logger, parserStack
Component | Technology |
Runtime | Node.js >= 18 |
Language | TypeScript |
Database | SQLite (better-sqlite3) |
Search | FTS5 |
Protocol | MCP (Model Context Protocol) |
Config | YAML (js-yaml) |
Compatibility
ORA uses the Model Context Protocol (MCP), an open standard. It works with any MCP-compatible client:
Client | MCP Support | Configuration |
Claude Code (CLI) | Native |
|
Claude Desktop | Native |
|
Cursor | Native | Settings → MCP |
Windsurf | Native |
|
Cline (VS Code) | Native | Settings → MCP Servers |
Continue.dev | Native |
|
Configuration Examples
{
"mcpServers": {
"ora": {
"command": "node",
"args": ["/Users/YOUR_USER/.ora/server/dist/index.js"]
}
}
}{
"mcpServers": {
"ora": {
"command": "node",
"args": ["/Users/YOUR_USER/.ora/server/dist/index.js"]
}
}
}Add an MCP server with:
Command:
nodeArgs:
/Users/YOUR_USER/.ora/server/dist/index.js
Or in .cursor/mcp.json:
{
"mcpServers": {
"ora": {
"command": "node",
"args": ["/Users/YOUR_USER/.ora/server/dist/index.js"]
}
}
}Note: Replace
YOUR_USERwith your system username.
FAQ
Does ORA work with tools other than Claude? Yes. ORA uses the MCP (Model Context Protocol), an open standard. It works with Claude Code, Claude Desktop, Cursor, Windsurf, Cline, Continue.dev, and any MCP-compatible client.
Is my data sent anywhere?
No. Everything stays in ~/.ora/data/ora.db on your machine.
Can I use ORA across multiple projects? Yes, that's the point. Memory is global and shared across all your projects.
How do I transfer my memory to another machine?
ora export generates a JSON that you can ora import elsewhere.
How much space does it take? Very little. A database with hundreds of elements is only a few hundred KB.
License
MIT
Available Tools
43 toolsora_apply_templateB
Applique un template pour pre-peupler la memoire ORA avec des notes, composants et fichiers types pour une stack donnee. Ideal pour demarrer rapidement.
| Name | Required | Description | Default |
|---|---|---|---|
| template_id | Yes | ID du template a appliquer (voir ora_templates) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It implies mutation (creating notes, components, files) but fails to mention side effects, permissions, limits, or confirmation. The description is too vague for an agent to fully understand implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys the core purpose efficiently. It is front-loaded and contains no superfluous words. However, it could be slightly more structured by stating the action and result separately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 required param, no output schema), the description is mostly adequate but lacks information on what exactly happens after application (e.g., overwrite behavior, error handling). It meets minimum viability for a straightforward tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds 'Ideal for quick start' but no additional parameter details beyond what the schema already provides. The parameter meaning is clear from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool applies a template to pre-populate ORA memory with notes, components, and files for a stack, and that it's ideal for quick starts. It uses specific verbs and resource references, distinguishing it from sibling tools like ora_templates which list templates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'ideal for quick start', implying usage for rapid setup, but does not specify when not to use it, prerequisites, or alternatives among the many sibling tools. More explicit guidance would improve selection accuracy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_auto_captureA
Capture intelligente multi-type. Dispatche automatiquement vers note, decision ou composant selon le type. Utilise pour capturer rapidement un element sans choisir manuellement l'outil.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tags optionnels | |
| type | Yes | Type de capture: bug_fix (symptome→fix), decision (choix technique), pattern (pattern detecte), tip (astuce/preference) | |
| content | Yes | Contenu a capturer. Pour bug_fix: utiliser le format "symptome → solution" | |
| project_path | No | Chemin du projet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals that the tool dispatches automatically based on type, but lacks details on error handling, output, required permissions, or side effects. This is adequate but not deeply transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences in French that are front-loaded with the core concept. Every word serves a purpose, and there is no redundancy or verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a capture/dispatch utility. The description covers its purpose and usage context. Without an output schema, it could mention what happens after dispatch (e.g., confirmation or return value) but overall it is sufficiently complete for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes all parameters well. The description does not add new semantic meaning beyond the schema; it only restates the concept of type-based dispatch. Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool performs intelligent multi-type capture and automatically dispatches to note, decision, or component based on type. It distinguishes itself from sibling capture tools by emphasizing automatic routing, allowing users to capture without manually choosing a specific tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool: 'utilise pour capturer rapidement un element sans choisir manuellement l'outil'. It implies that for manual selection of a specific capture type, sibling tools should be used, though no explicit alternatives or when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_capture_componentA
Sauvegarde un composant réutilisable. Utilisé quand l'utilisateur écrit /ora composant :: [nom]
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Le code complet du composant | |
| name | Yes | Nom du composant (ex: Button, SafeAreaWrapper) | |
| tags | No | ||
| language | No | Langage du composant | |
| description | No | Description de ce que fait le composant | |
| dependencies | No | Dépendances npm nécessaires | |
| project_path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the tool saves a component. It lacks details on behavioral traits like overwrite behavior, permissions, or return value, which are critical for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, each adding value: the first states the purpose, the second provides a usage trigger. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters and no output schema, the description is minimal but adequate for a simple capture action. However, it omits details about idempotency, error handling, or return value, leaving gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 71% coverage with descriptions, and the description does not add any additional meaning to the parameters. It neither compensates for missing param descriptions nor repeats schema info, resulting in a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Sauvegarde un composant réutilisable' (Saves a reusable component), providing a specific verb and resource. While it distinguishes from sibling capture tools like ora_capture_note by specifying component, it does not explicitly differentiate from other capture tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes 'Utilisé quand l'utilisateur écrit /ora composant :: [nom]', giving a clear trigger context. However, it does not provide exclusions or alternatives when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_capture_decisionA
Stocke une decision technique prise pendant la session. Utilise pour memoriser les choix architecturaux, de librairies, de patterns, etc. Appelle cet outil quand une decision significative est prise avec l'utilisateur.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tags pour categoriser | |
| context | No | Le contexte qui a mene a cette decision | |
| category | No | Categorie de la decision | |
| decision | Yes | La decision prise (ex: "Utiliser Zustand pour le state management") | |
| rationale | No | Pourquoi cette decision a ete prise | |
| alternatives | No | Les alternatives considerees et rejetees | |
| project_path | No | Chemin du projet concerne | |
| related_files | No | Fichiers impactes par cette decision |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only says 'stores a decision' without explaining side effects, idempotency, persistence, or return value. Missing details about what happens after capture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, clear and front-loaded. The second sentence could be slightly more concise, but overall efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters and no output schema, the description does not explain return values or confirm success. It lacks details on persistence, searchability, or how decisions are stored/retrieved, leaving gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of parameters, so description adds marginal value. It provides an example format for 'decision' but does not clarify meaning beyond schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it stores technical decisions and lists categories (architectural, library, pattern, etc.). It distinguishes itself from siblings like 'ora_capture_note' and 'ora_recall_decisions' by focusing specifically on decisions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to call: 'when a significant decision is made with the user.' It implies not to use for general notes, but doesn't explicitly mention alternative tools or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_capture_fileA
Sauvegarde un fichier template/config. Utilisé quand l'utilisateur écrit /ora fichier :: [nom]
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Nom du fichier (ex: eslint.config.js, tsconfig.json) | |
| tags | No | ||
| content | Yes | Contenu complet du fichier | |
| file_type | No | Type de fichier | |
| description | No | Description de l'usage | |
| project_path | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral transparency. It merely states the saving action without any disclosure of side effects, such as whether existing files are overwritten, required permissions, or any other behavioral traits like idempotency. The lack of detail leaves the agent uncertain about the tool's behavior beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—two short sentences with no redundant information. It front-loads the core purpose and provides a usage example. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters (2 required) and no output schema, the description is too brief. It does not explain return values, error conditions, or how the saved file is stored (e.g., in a repository). An agent would lack sufficient context to use the tool correctly without additional knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions cover 67% of parameters (4 out of 6), but the tool description does not add any additional meaning beyond the schema. It does not explain the role of parameters like 'tags' or 'project_path' nor does it provide usage context for 'file_type' enum values. With moderate schema coverage, the description should compensate but fails to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Sauvegarde un fichier template/config') and the resource ('fichier template/config'). It also provides the trigger command '/ora fichier :: [nom]', which directly distinguishes it from sibling capture tools like ora_capture_note (notes), ora_capture_decision (decisions), etc. The purpose is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when this tool is used: when the user writes '/ora fichier :: [nom]'. This provides clear context but lacks explicit when-not-to-use guidance or mention of alternative tools. However, given the command-based trigger, the usage is well-defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_capture_folderA
Sauvegarde un dossier entier dans la memoire ORA. Lit recursivement les fichiers texte et les stocke comme une entree unique.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Nom pour identifier le dossier (defaut: nom du dossier) | |
| path | Yes | Chemin absolu du dossier a capturer | |
| tags | No | Tags pour categoriser | |
| exclude | No | Patterns de dossiers/fichiers a exclure (en plus des exclusions par defaut: node_modules, .git, dist, etc.) | |
| max_depth | No | Profondeur max de recursion (defaut: 10) | |
| description | No | Description du dossier | |
| project_path | No | Chemin du projet actuel |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavior. States recursive reading and single-entry storage, but does not disclose non-destructive nature, authorization needs, or side effects. Sufficiently transparent for a capture action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two succinct sentences, zero waste. Front-loaded with purpose. Very concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and description does not mention what the tool returns (e.g., confirmation, entry ID). For a capture tool, return value is important to know. Incomplete in this regard.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters described. Description adds 'reads recursively' context but no additional meaning beyond schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it saves a whole folder into ORA memory, reading text files recursively and storing as a single entry. Distinguishes from sibling tools like ora_capture_file (single file) and ora_capture_note (note).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage for capturing folders, but no explicit when-to-use or when-not-to-use versus alternatives like ora_capture_file or ora_capture_note. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_capture_noteB
Capture une note/solution dans la mémoire ORA. Utilisé quand l'utilisateur écrit /ora :: [contenu]. Format recommandé: problème → solution
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tags pour catégoriser | |
| content | Yes | Le contenu complet (format recommandé: problème → solution) | |
| project_path | No | Chemin du projet actuel (si disponible) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must cover behavioral traits. It states the tool captures a note (a write operation), but does not disclose whether it is destructive, idempotent, requires special permissions, or what side effects occur. Basic action is clear, but deeper behavioral context is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence plus a brief note, front-loading the action and trigger. No superfluous text; every word contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 params, no output schema), the description covers purpose, trigger, and format. However, it omits what happens after capture (e.g., confirmation, storage location) and does not leverage the absence of annotations to add behavioral completeness. Adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by recommending a content structure ('problème → solution'), which extends beyond the schema's description. Tags and project_path are not further clarified, but overall the description enriches the content parameter's usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it captures a note/solution in ORA memory, with a specific trigger (user writing /ora :: [content]). It implies differentiation from sibling capture tools like ora_capture_decision by specifying 'note/solution', though it doesn't explicitly compare.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates when to use (when user writes /ora :: [content]) and recommends a format, but does not provide when-not-to-use guidance or mention alternatives among the many sibling capture tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_check_patternsA
Retourne les patterns appris pour un projet. Permet de verifier les conventions detectees.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Filtrer par categorie | |
| project_path | Yes | Chemin du projet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It indicates read-only behavior (returns data) but lacks details on authentication, data limits, or format of returned patterns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-loaded with purpose, no wasted words, and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description is adequate but could elaborate on the structure of returned patterns or any limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The tool description adds context about patterns and conventions but does not enhance parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns learned patterns for a project and verifies detected conventions, with a specific verb and resource that distinguishes it from siblings like ora_learn_patterns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for verification of conventions but does not provide explicit when-to-use or when-not-to-use guidance, nor does it contrast with alternative sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_coverageA
Analyse la couverture de la memoire ORA et fournit des recommandations pour maximiser l'efficacite. Montre les pourcentages par categorie et suggere les prochaines actions prioritaires.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It does not disclose whether the tool is read-only or has side effects. With zero parameters, it is likely a non-destructive query, but this is not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action, and every sentence adds value. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description adequately explains what the tool does (analyze coverage, show percentages by category, suggest actions). It could be slightly more detailed about the categories, but overall it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and the schema coverage is 100% (empty). The description does not add any parameter-level meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('analyse') and resource ('couverture de la memoire ORA'), clearly stating the tool's function. It distinguishes itself from sibling tools (e.g., ora_capture_note, ora_stats) by focusing on coverage analysis and recommendations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly suggests using the tool to view coverage and get recommendations, but it provides no explicit guidance on when to use it versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_create_workflowB
Cree un workflow (bundle) qui regroupe plusieurs elements ORA. Permet de restaurer un ensemble de notes, composants, fichiers et dossiers en une seule commande.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Nom du workflow (ex: "Setup Next.js", "Auth System") | |
| tags | No | Tags pour categoriser | |
| items | Yes | Liste des elements a inclure (type + id) | |
| description | No | Description du workflow | |
| project_path | No | Chemin du projet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as whether the tool overwrites existing workflows, authentication requirements, rate limits, or side effects. It only states the basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is just two sentences, no fluff, and front-loads the core purpose. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a 5-parameter tool with no output schema, the description is too minimal. It does not explain return values, failure modes, or how the created workflow is used later. More context is needed for a creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters have descriptions in the schema (100% coverage), so the baseline is 3. The description adds minimal extra context beyond the schema, e.g., an example for the 'name' parameter. No significant additional semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Cree un workflow') and the resource ('bundle qui regroupe plusieurs elements ORA'). It explains what the tool does (restore a set of notes, components, files, folders in one command), distinguishing it from sibling tools like ora_run_workflow or ora_list_workflows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., ora_apply_template, ora_capture_* tools). It does not mention prerequisites or typical scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_deleteB
Supprime un élément de la mémoire. Utilisé pour /ora forget [id]
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID de l'élément à supprimer | |
| type | Yes | Type de l'élément |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states deletion from memory without mentioning permanence, side effects, or prerequisites. This is insufficient for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with a usage note. Extremely concise and front-loaded. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool with fully described parameters and no output schema, the description is minimally adequate. However, it lacks behavioral details that would make it complete for a destructive action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds a usage note about the command but does not provide additional semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it deletes an element from memory and associates it with a specific command '/ora forget [id]'. This makes the purpose clear and distinguishes it from other tools, though not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a usage hint (for '/ora forget'), but does not give explicit guidance on when to use this tool vs alternatives like ora_human_forget. Usage context is implied but not detailed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_delete_workflowB
Supprime un workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID du workflow a supprimer |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose any behavioral traits such as irreversibility, required permissions, or side effects beyond deletion. The agent has no additional context beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just 4 words, with no wasted information. It is front-loaded and communicates the core action efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no output schema, no annotations), the minimal description is adequate but lacks any contextual completeness such as prerequisites or consequences.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter 'id' described in the schema. The description adds no further meaning to what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('supprime' meaning delete) and the resource ('workflow'). It is specific enough, though it does not differentiate from the generic 'ora_delete' sibling tool, but the tool name itself provides that distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'ora_delete' or 'ora_create_workflow'. No usage context or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_getB
Recupere le contenu complet d'un element ORA par son ID. Utilise pour restaurer des fichiers, composants ou dossiers dans un projet.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID de l'element a recuperer (ex: file_abc123, comp_xyz789, folder_def456, note_ghi012) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It states 'retrieve full content' but does not mention side effects, authentication needs, rate limits, or whether the operation is destructive. The description is honest but lacks sufficient detail for safe agent decision-making.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action and followed by a use case. No superfluous content. It is appropriately sized but could be slightly more structured (e.g., separate behavioral notes).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter and no output schema or annotations, the description covers the basic purpose and use case. However, it lacks details on the return format, error handling, and scope of 'full content', leaving the agent with incomplete context for using the tool reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with the 'id' parameter fully described with examples. The description does not add significant new meaning beyond what the schema provides, meeting the baseline expectation. No additional semantics or constraints are conveyed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'recupere' (retrieve) and resource 'element ORA par son ID', with examples of elements (files, components, folders). It effectively conveys the tool's primary function, though it does not explicitly differentiate from sibling tools like ora_get_rules or ora_get_structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a use case ('restaurer des fichiers, composants ou dossiers') but does not explicitly state when to use this tool over alternatives or when not to use it. The guidance is implied rather than explicit, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_get_rulesA
Lit les conventions du projet depuis .ora/rules.yaml. Retourne les regles de style, architecture, nommage et preferences du projet.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Chemin absolu du projet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It clearly indicates a read operation from a specific file, which implies no destructive side effects. However, it does not mention handling of missing files, permissions, or return format beyond 'rules'. This is adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences in French with no extraneous information. Every word is functional, front-loading the main action and output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one parameter and no output schema, the description covers what it does, what it reads from, and what it returns. It is complete for the agent to understand the tool's purpose and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter, but the tool description adds meaningful context: it explains that project_path is the path where .ora/rules.yaml resides. This goes beyond the schema's generic 'Chemin absolu du projet' to clarify its role in locating the rules file.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reads project conventions from .ora/rules.yaml and returns rules of style, architecture, naming, and preferences. The specific verb 'Lit' and resource 'conventions du projet depuis .ora/rules.yaml' differentiate it from siblings like ora_init_rules or ora_check_patterns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as requiring the rules file to exist or having been initialized, nor does it suggest when not to use it (e.g., instead of ora_init_rules).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_get_structureA
Analyse la structure d'un projet et retourne l'arborescence des fichiers, les fichiers cles detectes, et le stack technique identifie.
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | Profondeur max (defaut: 4) | |
| exclude | No | Patterns supplementaires a exclure | |
| project_path | Yes | Chemin absolu du projet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It describes returns but lacks details on side effects, permissions, or limitations like performance or symbolic link handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence in French, front-loaded with the core purpose, no unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should provide more context on the format or structure of the returned data. It states what is returned but not how.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all three parameters documented in schema). The description adds no additional meaning beyond what the schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (analyse la structure d'un projet) and the three returned elements (file tree, key files, technical stack), distinguishing it from other tools like ora_get or ora_project_context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for project structure analysis but provides no explicit guidance on when to use or avoid, nor alternatives among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_git_commit_styleA
Analyse le style des commits du repo et suggere un message pour les changements actuels (stages).
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | No | Chemin du projet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It indicates read-like behavior (analysis) but does not clarify if the tool modifies staged changes, requires a clean working tree, or if it commits automatically. The suggestion action is ambiguous regarding side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is concise and front-loaded with the main action and object. No extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (one parameter, no output schema), the description provides adequate context: input is the project path, output is a suggested commit message based on analysis of commit style. However, it could be more complete by noting the output format or any prerequisites (e.g., staged changes must exist).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'project_path' has schema coverage at 100% with a description 'Chemin du projet'. The tool description adds context by linking it to the repository, but does not explain the default behavior when the parameter is omitted (since it's optional). This meets the baseline for schema coverage, with limited additional value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: analyze commit style and suggest a commit message for staged changes. The verb 'analyse' and 'suggere' specify actions, and the objects 'style des commits' and 'message' distinguish it from sibling git tools like ora_git_summary and ora_git_diff.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for staged changes ('pour les changements actuels (stages)'), providing context for when to use it. However, it lacks explicit guidance on when not to use it or how it compares to sibling tools like ora_git_diff for viewing changes or ora_git_summary for overall history.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_git_diffA
Affiche le diff entre deux branches, commits, ou le diff actuel. Peut filtrer par fichier.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Branche ou commit cible (defaut: HEAD) | |
| from | Yes | Branche ou commit source (ex: main, HEAD~3, abc1234) | |
| file_path | No | Filtrer le diff sur un fichier specifique | |
| project_path | No | Chemin du projet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose whether this tool is read-only or destructive, nor does it describe the output format or side effects. For a tool that reads data, transparency is lacking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences in French with no superfluous text. It efficiently conveys the core functionality and filtering capability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does not explain what the diff output looks like (e.g., format, content). For a 4-parameter tool, it covers the basics but misses return value details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description adds minimal extra semantic value beyond the schema. The mention of filtering by file reiterates the file_path parameter but doesn't introduce new information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it displays diffs between branches, commits, or current changes, and can filter by file. It uses specific verbs and resource, and distinguishes from sibling git tools like ora_git_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives like ora_git_summary or ora_git_file_history. Usage context is implied but not clearly defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_git_file_historyB
Montre qui a modifie un fichier, quand et pourquoi. Suit les renommages.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Nombre d'entrees (defaut: 10) | |
| file_path | Yes | Chemin du fichier a inspecter | |
| project_path | No | Chemin du projet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It mentions rename tracking but omits details like output format, scope (e.g., branch), or limitations. Minimal disclosure for a git history tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, front-loading the core purpose. Every sentence adds value, though it could include more behavioral detail without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and moderate complexity (file history with rename tracking), the description lacks output format details, pagination hints, or edge-case behavior. Incomplete for an AI agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters (file_path, limit, project_path). The description adds no additional parameter information, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool shows who modified a file, when, and why, and explicitly mentions it follows renames. This specific verb+resource combination distinguishes it from sibling tools like ora_git_summary or ora_git_diff.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like ora_git_diff or ora_git_summary. The description implies usage for file history but does not provide context or exclusions for sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_git_summaryA
Resume les derniers commits du repo. Montre l'historique recent avec hash, auteur, date et message.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Nombre de commits a afficher (defaut: 10) | |
| branch | No | Branche a consulter (defaut: branche courante) | |
| project_path | No | Chemin du projet (defaut: repertoire courant) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It transparently describes the output (hash, author, date, message) and implies a read-only operation. It does not mention sorting or defaults, but schema covers parameter descriptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with purpose, no wasted words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description explains output fields. It covers the tool's core function well. Could mention default values or that it's read-only, but not required for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add any parameter information beyond what the schema provides; it only describes the output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool summarizes recent commits with hash, author, date, and message. It distinguishes itself from sibling tools like ora_git_file_history and ora_git_diff by focusing on a summary of recent commits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for a quick overview of recent commits but does not explicitly state when to use it over alternatives or when not to use it. No exclusion or alternative is mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_human_activateA
Activer une personnalite pour cette session. Tous les souvenirs seront lies a ce human.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Nom de la personnalite a activer |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that activating a personality links memories to it, but does not mention overwriting behavior, reversibility, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no waste. Extremely concise and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is adequate. It explains both action and effect, though it could clarify session scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description essentially repeats the schema's parameter description ('Nom de la personnalite a activer'). No additional meaning is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: activate a personality for the session, and the consequence: all memories will be linked to that human. It distinguishes from siblings like 'ora_human_create' and 'ora_human_list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when setting an active human for the session, but does not explicitly state when to use or not use it, nor mention alternatives like 'ora_human_create' or 'ora_human_recall'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_human_createB
Creer une nouvelle personnalite nommee. Chaque human a sa propre memoire et personnalite qui evolue au fil des sessions.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Nom unique de la personnalite (ex: "Nova", "Iris") | |
| description | No | Description de la personnalite | |
| personality | No | Traits de personnalite initiaux (texte libre) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description mentions persistence ('propre memoire') and evolution over sessions, but does not disclose side effects, authentication needs, rate limits, or behavior on duplicate names.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each serving a distinct purpose: core action and contextual behavior. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers creation and basic behavior (persistence, evolution), but lacks details on return value, required context (e.g., session), and constraints like name uniqueness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all 3 parameters. The description adds minimal beyond schema; it hints at 'nommee' for name and 'personnalite' for personality, but does not provide new details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool creates a new named personality (human). Verb 'creer' and resource 'personnalite' are specific. Sibling tools like ora_human_evolve modify existing personalities, so creation is distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (e.g., ora_apply_template or ora_human_activate). No context about prerequisites or when creation is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_human_evolveA
Faire evoluer la personnalite et les traits du human actif. Les traits sont fusionnes (pas remplaces).
| Name | Required | Description | Default |
|---|---|---|---|
| traits | No | Nouveaux traits a ajouter (fusionnes avec les existants) | |
| personality | No | Mise a jour de la personnalite (remplace) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It reveals that traits are merged (non-destructive to existing traits) while personality is replaced (destructive to existing personality). This is good transparency for mutation behavior. Lacks info on authorization, reversibility, or return values, but the core behavioral distinction is well communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence of 18 words that conveys purpose and key behavioral detail (merge vs replace). No redundancy or unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two simple parameters and no output schema, the description covers the essential behavior. It could optionally mention the return value (e.g., updated human object) or side effects, but the tool's simplicity makes this adequate. Slight gap for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter's description already specifying the merge/replace semantics (e.g., 'fusionnes avec les existants' for traits). The tool description reiterates this without adding new meaning beyond what the schema provides. Thus, it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool evolves the personality and traits of the active human, using a specific verb ('evolve') and resource ('human active'). It distinguishes from siblings like ora_human_create (creates new), ora_human_activate (activates), and ora_human_forget (removes) by focusing on mutation/update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that traits are merged (not replaced) and personality is replaced, which clarifies the tool's behavior. However, it does not indicate when to use this tool vs alternatives (e.g., if one wants to replace traits entirely, a different tool might be needed). No explicit when-not-to-use or comparison with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_human_forgetB
Oublier les vieux souvenirs sans importance du human actif. Garde les souvenirs a fort impact et frequemment rappeles.
| Name | Required | Description | Default |
|---|---|---|---|
| min_access | No | Acces min pour garder (defaut 2) | |
| min_impact | No | Impact min pour garder (defaut 0.3) | |
| max_age_days | No | Age max en jours (defaut 90) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It states that the tool forgets memories but also retains high-impact and frequently recalled ones, implying selective deletion. However, it does not explain side effects, required permissions, reversibility, or whether it operates on a per-human basis, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two short sentences that front-load the main action and effect. Every word adds value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 100% schema coverage, the description adequately explains the tool's effect but could be improved by explicitly stating how the parameters influence memory retention and mentioning the default values. Overall, it is minimally sufficient but not rich in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all three parameters with descriptions (100% coverage), so the description does not need to add extra meaning. The description aligns with the parameters by mentioning 'high impact' and 'frequently recalled', which correspond to min_impact and min_access, but it does not provide additional context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool forgets old unimportant memories and keeps high-impact and frequently recalled ones. It uses specific verbs and resources, and it is distinguishable from sibling tools like ora_human_remember and ora_human_recall by its focus on forgetting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or scenarios where another tool would be more appropriate. The agent is left to infer usage context from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_human_introspectA
Snapshot de l'etat mental du human actif : personnalite, traits, 5 derniers souvenirs. A utiliser au debut de chaque session.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool takes a snapshot (non-destructive) and what information is included. It could mention prerequisites (e.g., human must be active) but the term 'active human' implies that condition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence in French that efficiently conveys purpose and usage. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description sufficiently defines the tool's purpose and usage. It lacks details about output format or frequency limitations, but is adequate for initial session context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has no parameters, so schema coverage is 100%. No additional parameter info is needed. Baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides a snapshot of the active human's mental state (personality, traits, last 5 memories). This is a specific verb and resource, and it distinguishes from sibling tools like ora_human_remember or ora_human_recall.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'use at the beginning of each session', giving clear context. It does not mention alternatives or exclusions, but the instruction is strong enough for typical use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_human_listA
Lister toutes les personnalites disponibles avec leurs statistiques.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It indicates the tool lists all personalities with statistics, but lacks details on safety (e.g., read-only nature) or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no redundancy; every word is meaningful and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool, the description covers the main purpose and outputs (personalities with statistics), though it could elaborate on what statistics are included.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist (input schema empty), so description adds no parameter info; baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action (list) and the resource (all personalities with statistics), clearly distinguishing it from sibling tools like ora_human_create or ora_human_evolve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives; usage is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_human_recallB
Chercher dans les souvenirs du human actif avec scoring neuronal. Les souvenirs recents, importants et emotionnels sont privilegies.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Nombre max de resultats (defaut 5) | |
| query | Yes | Recherche dans les souvenirs | |
| min_impact | No | Score d'impact minimum (0.0 a 1.0) | |
| project_path | No | Filtrer par projet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses neural scoring and prioritization, which adds behavioral context beyond a simple search. However, it does not mention read-only nature, auth requirements, or side effects, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no extraneous words. Front-loaded with the main action and scoring behavior. Could be slightly more structured but remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is moderately complete for a search tool. It explains scoring and filtering but lacks details on return format or result structure, which is acceptable for a simple query tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all four parameters. The description does not add extra meaning beyond the schema's parameter descriptions, so baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches memories with neural scoring and prioritizes recent, important, and emotional memories. It distinguishes from siblings like ora_human_introspect or ora_human_forget by specifying its search and scoring focus, though not explicitly naming alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus siblings. The description implies it is for searching memories but does not provide conditions or exclusions. The agent would need to infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_human_rememberB
Stocker un souvenir de conversation pour le human actif. Inclut le contexte emotionnel, les intentions et les resultats.
| Name | Required | Description | Default |
|---|---|---|---|
| mood | No | Etat emotionnel de l'utilisateur (ex: productif, frustre, curieux) | |
| tags | No | Tags | |
| intent | No | Ce que l'utilisateur cherchait a accomplir | |
| topics | No | Sujets abordes | |
| content | Yes | Resume de la conversation/interaction | |
| outcomes | No | Ce qui a ete accompli | |
| preferences | No | Preferences utilisateur decouvertes | |
| impact_score | No | Importance du souvenir (0.0 a 1.0, defaut 0.5) | |
| project_path | No | Chemin du projet | |
| emotional_weight | No | Poids emotionnel (0.0 a 1.0, defaut 0.5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions storing memory with mood, intentions, and outcomes, but does not disclose behavioral traits such as whether it overwrites existing memories, success confirmation, or side effects on the active human profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with two concise sentences. No redundancy, though a bit more detail on usage could improve it without compromising conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 10 parameters and no output schema, the description is adequate but not complete. It does not explain return values or what happens after storage (e.g., how memories are later accessed). The schema covers parameter details so description is somewhat sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description mentions emotional context, intentions, and outcomes, which map to several parameters, but adds minimal additional meaning beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: storing a conversation memory for the active human. It specifies included elements (emotional context, intentions, outcomes), distinguishing it from siblings like ora_human_forget or ora_human_recall.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage as a memory storage tool but provides no explicit guidance on when to use it versus alternatives like ora_capture_note or ora_capture_decision. No when-not or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_init_rulesC
Cree un fichier .ora/rules.yaml template dans le projet. Permet au developpeur de definir ses conventions.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Chemin absolu du projet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose important behavioral traits such as whether it overwrites an existing file, what happens if the .ora directory doesn't exist, or any side effects. For a tool that creates a file, these details are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short with two sentences, but it is in French. It could be more concise by stating 'Creates the initial .ora/rules.yaml template.' However, it avoids unnecessary detail and is front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, no output schema), so a minimal description is somewhat acceptable. However, it lacks information about what the template contains, whether it overwrites an existing file, or the expected outcome. This leaves some gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, project_path, is described in the schema as 'Chemin absolu du projet' (absolute path of the project), which is clear. The description does not add any additional meaning beyond the schema. With 100% schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a .ora/rules.yaml template file and that its purpose is to allow developers to define conventions. This distinguishes it from siblings like ora_get_rules (reading rules) or ora_apply_template (applying templates). However, it could be more specific about what 'conventions' means.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. It does not mention prerequisites, such as requiring a project already initialized, or when not to use it. Sibling tools like ora_get_rules or ora_apply_template are not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_learn_patternsA
Analyse le code source d'un projet et detecte les patterns de codage (nommage, imports, structure, composants). Stocke les patterns detectes avec un score de confiance.
| Name | Required | Description | Default |
|---|---|---|---|
| categories | No | Categories de patterns a detecter (defaut: ['all']) | |
| project_path | Yes | Chemin absolu du projet a analyser |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It discloses that patterns are stored with a confidence score, but does not specify where they are stored, whether the operation is destructive, required permissions, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two short, front-loaded sentences with no extraneous information. Every sentence is informative and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains what the tool does and mentions storing results, but does not describe the return value or output format. Since there is no output schema, this is a gap. The tool is simple enough to be adequate, but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have schema descriptions. The description adds context about detecting patterns but does not provide additional meaning beyond the schema's `categories` enum and `project_path` description. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool analyzes source code to detect coding patterns (naming, imports, structure, components) and stores them with a confidence score. The verb 'analyse' and resource 'codage patterns' are specific, and it distinguishes from sibling `ora_check_patterns`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for detecting patterns but provides no explicit guidance on when to use this tool versus alternatives like `ora_check_patterns`. No when-not-to-use or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_listC
Liste les éléments stockés. Utilisé pour /ora composant list, /ora fichier list, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Ordre de tri | |
| type | Yes | Type d'éléments à lister | |
| limit | No | Nombre max de résultats |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose any behavioral traits (e.g., side effects, return format, error handling). It merely states the purpose without further detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two succinct sentences with no redundancy. The purpose is front-loaded, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is overly minimal given the presence of many sibling tools and no output schema. It lacks context on filtering behavior, output format, or how it differs from similar tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (all parameters have descriptions). The description adds no extra meaning beyond the schema; the parameter details are self-contained in the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List stored elements' and provides command examples, establishing the verb and resource. However, it does not differentiate from sibling tools like 'ora_get' or 'ora_search', which also access stored data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The command examples imply usage for listing, but no when-not-to or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_list_workflowsC
Liste tous les workflows disponibles.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Nombre max de resultats (defaut: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden. It only states the listing action with no details on side effects, pagination behavior, or scope. The limit parameter is in schema but not explained in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence. It is concise and front-loaded, but arguably too minimal for a tool with only one parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotations, and the description omits essential context like return format, pagination details, and list scope. Incomplete for an effective agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'limit' parameter. The description adds no extra meaning beyond the schema, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Liste tous les workflows disponibles' clearly states the action (list) and resource (workflows). It is specific and directly matches the tool name, but it does not distinguish from the generic ora_list sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like ora_search or ora_list. There is no mention of prerequisites, when not to use, or comparison to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_project_contextA
Retourne un digest complet du projet: structure, stack, rules, decisions recentes, sessions passees, notes/composants lies, et infos git. Appelle cet outil au debut d'une conversation pour comprendre le contexte du projet.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Chemin absolu du projet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
En l'absence d'annotations, la description porte le fardeau de la transparence. Elle décrit le contenu du digest, mais ne précise pas les effets secondaires (vraisemblablement lecture seule), les permissions nécessaires, ni le format de sortie. L'information est suffisante sans être exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Deux phrases concises et sans gaspillage. La première énumère le contenu du digest, la seconde donne l'instruction d'utilisation. Chaque phrase apporte une valeur essentielle.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Malgré l'absence de schéma de sortie, la description détaille le contenu du digest (structure, stack, règles, décisions, sessions, notes, git). C'est complet pour un outil de contextualisation initiale, bien qu'un format de sortie ou des exemples auraient pu améliorer la complétude.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Un seul paramètre, project_path, déjà décrit dans le schéma comme 'Chemin absolu du projet'. La description n'ajoute pas de signification supplémentaire au-delà du schéma, et le taux de couverture est de 100%, justifiant un score de base de 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
La description spécifie un verbe d'action ('retourne') et une ressource précise ('digest complet du projet') avec des détails sur le contenu (structure, stack, règles, décisions récentes, etc.). Elle se distingue des outils frères comme ora_session_summary ou ora_get_rules par son rôle de contextualisation globale en début de conversation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
La description donne une directive claire : 'Appelle cet outil au début d'une conversation pour comprendre le contexte du projet'. Elle n'explicite pas quand ne pas l'utiliser ni d'alternatives, mais le contexte d'utilisation est bien défini.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_recall_decisionsA
Recherche dans les decisions passees. Utilise pour retrouver pourquoi un choix technique a ete fait.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Nombre max de resultats (defaut: 10) | |
| query | Yes | Termes de recherche | |
| category | No | Filtrer par categorie | |
| project_path | No | Filtrer par projet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It implies a read-only search operation ('Recherche'), which is clear. However, it does not disclose details like result format, pagination, authentication needs, or potential side effects, though for a search tool the behavior is mostly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two short sentences in French, with no unnecessary words. It is succinct and entirely appropriate for the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basic purpose but lacks information about the return value (no output schema), pagination behavior, or limitations. For a simple search tool with well-documented parameters, it is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema. The description adds no additional parameter-level details beyond the overall purpose, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches past decisions ('Recherche dans les decisions passees') to find why a technical choice was made. It provides a specific verb and resource, and implicitly distinguishes from sibling tools like ora_search or ora_human_recall by focusing on decisions. However, it does not explicitly differentiate itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says 'Utilise pour retrouver pourquoi un choix technique a ete fait', giving a clear context of use. However, it offers no guidance on when not to use this tool, prerequisites, or alternatives among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_run_workflowB
Execute un workflow: recupere le contenu complet de tous les elements du bundle. Retourne tout le contenu pour que Claude Code puisse le restaurer dans le projet.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID du workflow a executer |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides minimal behavioral context. It mentions execution and content retrieval but fails to disclose side effects, authentication needs, or error behavior. For an execution tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no fluff. The main action is front-loaded in the first sentence. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, the description is mostly complete. It explains purpose and output. However, lacking details on return format or execution behavior (sync/async) keeps it from perfect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'id' has a clear schema description ('ID du workflow a executer'), achieving 100% coverage. The tool description does not add extra meaning beyond the schema, so score is baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it executes a workflow and retrieves bundle content for restoration. It uses specific verbs ('Execute un workflow', 'recupere le contenu') and distinguishes itself from sibling tools like ora_create_workflow or ora_delete_workflow by focusing on execution.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., ora_create_workflow for creating, ora_list_workflows for listing). The description does not mention prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_searchA
Recherche dans la memoire ORA (notes, composants, fichiers, dossiers). Utilise quand l'utilisateur a un probleme ou cherche quelque chose, ou pour /ora search [query].
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Filtrer par tags | |
| type | No | Type de résultats à chercher | |
| limit | No | Nombre max de résultats | |
| query | Yes | Termes de recherche | |
| project_path | No | Chemin du projet actuel pour booster la pertinence |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool searches memory but does not disclose any behavioral traits like read-only nature, permission requirements, or return format. However, 'search' implies read-only, so it's not misleading but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first defines the tool's purpose, second provides usage context. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 5 parameters fully described in schema, the description is complete enough for a search tool. Could mention result ordering or pagination, but not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description does not add meaning beyond the schema, as it only mentions types of results which are already covered by the 'type' enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches in ORA memory (notes, components, files, folders), using the verb 'Recherche'. It distinguishes from siblings like ora_capture_note or ora_list by focusing on search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to use it when the user has a problem or is looking for something, or via the slash command. It provides clear context, though no exclusion or alternatives are mentioned, it's sufficient given sibling tools are not search-focused.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_session_historyB
Liste les sessions de travail passees. Permet de voir l'historique des conversations et ce qui a ete accompli.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Nombre max de resultats (defaut: 10) | |
| project_path | No | Filtrer par projet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the tool lists sessions and shows history—no mention of read-only behavior, authentication needs, or potential limitations. Given absent annotations, this is insufficiently transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action. Every word earns its place; no redundancy or filler. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no output schema and only optional parameters, the description adequately conveys the tool's purpose. It could hint at filtering capabilities, but the schema already covers that. Complete enough given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The description adds no additional meaning beyond the schema, which already defines 'limit' (max results) and 'project_path' (filter by project). Baseline 3 is appropriate as the schema handles parameter explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists past work sessions and displays conversation history. It differentiates from siblings like ora_session_summary (which summarizes a session) by focusing on listing entire sessions, but does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus sibling tools like ora_recall_decisions or ora_session_summary. The description provides no context about prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_session_summaryA
Cree un resume de la session de travail actuelle. Appelle cet outil a la fin d'une session productive pour garder une trace du travail accompli.
| Name | Required | Description | Default |
|---|---|---|---|
| topics | No | Sujets abordes pendant la session | |
| summary | Yes | Resume de ce qui a ete accompli pendant la session | |
| project_path | No | Chemin du projet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states that the tool 'creates a summary' but does not describe side effects, persistence, permissions, or whether the summary is stored or returned. This leaves significant gaps for a tool that likely writes data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two short sentences in French, each with a distinct purpose: the first defines the tool's function, the second gives usage guidance. No extraneous information is present, achieving high conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the tool's basic purpose and usage. However, without an output schema, the agent does not know what the tool returns (e.g., a confirmation or the created summary). Additionally, the description does not clarify whether the summary is saved or how it integrates with the session context, leaving some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions already cover all parameters (100% coverage), so the baseline is 3. The description does not add any additional semantic value beyond what the schema provides, e.g., it does not explain how 'topics' or 'project_path' relate to the session summary.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a summary of the current work session and specifies when to call it ('at the end of a productive session'). This distinguishes it from sibling tools like ora_capture_note, which are for individual notes rather than session summaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly indicates when to use the tool ('at the end of a productive session'), providing clear context. However, it does not mention when not to use it or suggest alternatives, which would further strengthen guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_statsB
Retourne les statistiques de la mémoire ORA. Utilisé pour /ora show
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only says returns statistics, no details on side effects, authorization needs, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, direct sentences. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Minimal description for a simple tool; adequate but could elaborate on what statistics are returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has no parameters, so description does not need to add parameter details. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it returns ORA memory statistics and is used for /ora show. It is distinct from sibling tools which have different actions like capture, evolve, forget, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Indicates usage with /ora show but provides no guidance on when not to use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_suggestA
Analyse le projet courant et suggere les elements a capturer dans ORA (configs, composants, hooks, patterns). Compare avec ce qui est deja stocke.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Chemin absolu du projet a analyser |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It mentions analysis and comparison without side effects, suggesting a read-only operation. However, it does not detail output format, performance, or scope limitations, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the main action, and contains no extraneous information. Every word contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and no output schema. The description covers the main purpose but fails to specify the format or delivery of suggestions. Given the large sibling list, more context on how suggestions are returned would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter, so baseline is 3. The description adds context that the project is 'courant' (current) but the schema specifies 'absolute path', which is slightly inconsistent. No additional semantics are provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('analyse', 'suggere', 'compare'), the resource ('projet courant'), and the specific elements ('configs, composants, hooks, patterns'). It distinguishes from sibling tools like ora_capture_* which perform capture, not suggestion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for analyzing the current project and suggesting captures, but it does not explicitly state when to use it versus alternatives like ora_auto_capture or ora_check_patterns. No 'when not to use' or prerequisite context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_templatesB
Liste les packs de templates disponibles (pre-construits par type de projet). Chaque template contient des notes, composants et configs types pour une stack.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Filtrer par categorie (defaut: all) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose read-only nature, performance, or any side effects. Only states what the tool lists without behavioral cues.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff, but description is in French while tool name and parameters are in English, potentially reducing clarity for non-French agents.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional enum parameter and no output schema, the description adequately covers what is listed and what templates contain. Missing output format but acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear enum and description already provided in schema. Tool description adds no additional parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool lists template packs pre-built by project type, with specific verb 'Liste les packs de templates'. Distinguishes from sibling 'ora_apply_template' which applies a template, and other related tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicit usage: use to browse available templates before applying. No explicit when-to-use or when-not-to-use guidance, and no mention of alternatives like ora_apply_template.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_ticket_getA
Recupere le contenu complet d'un ticket GitHub Issue (titre, description, commentaires, labels, assignees).
| Name | Required | Description | Default |
|---|---|---|---|
| repo | No | Repo au format owner/name (defaut: repo courant) | |
| issue_number | Yes | Numero du ticket | |
| project_path | No | Chemin du projet pour detecter le repo |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description discloses what will be returned (title, description, comments, labels, assignees), implying a read-only operation. However, no explicit mention of idempotency, permissions, or error conditions. Without annotations, the description carries the burden and provides moderate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence in French efficiently conveys purpose and return content, with no wasted words. Perfectly concise for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description explicitly lists the return components (titre, description, commentaires, labels, assignees), providing complete context for a simple retrieval tool. No additional detail is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: all three parameters (repo, issue_number, project_path) have clear descriptions. The tool description adds no further parameter guidance beyond the schema, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it retrieves full content of a GitHub Issue, listing specific components: title, description, comments, labels, assignees. It is distinct from siblings like ora_ticket_list (listing) and ora_ticket_update (updating).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like ora_ticket_list (for summaries) or ora_ticket_update. The usage context is implied but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_ticket_listB
Liste les issues GitHub du repo courant ou specifie. Filtre par statut et labels.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | No | Repo au format owner/name (defaut: repo courant) | |
| limit | No | Nombre max de resultats (defaut: 20) | |
| state | No | Filtre par statut (defaut: open) | |
| labels | No | Filtrer par labels | |
| project_path | No | Chemin du projet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It indicates a read operation (listing), but does not mention pagination, rate limits, or side effects. Minimal disclosure beyond basic function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no waste, front-loaded. Could benefit from structure but is appropriately concise for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters and no output schema, description lacks detail on return format, pagination, or behavior across repos. Not complete for a list tool with multiple filters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions, so baseline is 3. Description adds little beyond schema, merely echoing that it filters by status and labels. No additional semantic context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it lists GitHub issues from current or specified repo with filtering by status and labels. Verb 'Liste' and resource 'issues' are specific, and it distinguishes from siblings like ora_ticket_get (single ticket) and ora_ticket_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like ora_search or ora_list. Does not mention when not to use or provide context for selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ora_ticket_updateB
Met a jour le statut d'un ticket GitHub (close/reopen). Peut ajouter un commentaire.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | No | Repo au format owner/name | |
| action | Yes | Action a effectuer | |
| comment | No | Commentaire optionnel a ajouter | |
| issue_number | Yes | Numero du ticket | |
| project_path | No | Chemin du projet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the actions (close/reopen) and optional comment, but does not mention side effects, authentication needs, rate limits, or what happens to the ticket (e.g., if a comment triggers notifications). More transparency is needed for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the purpose. No wasted words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, 2 required, and no output schema, the description is too short. It lacks information about return values, error conditions, permission requirements, and the effect on the ticket beyond the state change.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no new parameter details beyond summarizing the actions and comment. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates the status of a GitHub ticket (close/reopen) and can add a comment. It uses a specific verb ('Met a jour') and resource ('statut d'un ticket GitHub'), and distinguishes from sibling tools like ora_ticket_get and ora_ticket_list which are read-only.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for closing/reopening tickets with optional comments, but does not explicitly state when to use versus alternatives (e.g., when to use ora_ticket_update vs. another tool) or mention prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
43 tool updates
v1.0.0- First observed
ora_apply_template - First observed
ora_auto_capture - First observed
ora_capture_component - First observed
ora_capture_decision - First observed
ora_capture_file - First observed
ora_capture_folder - First observed
ora_capture_note - First observed
ora_check_patterns - First observed
ora_coverage - First observed
ora_create_workflow - First observed
ora_delete - First observed
ora_delete_workflow - First observed
ora_get - First observed
ora_get_rules - First observed
ora_get_structure - First observed
ora_git_commit_style - First observed
ora_git_diff - First observed
ora_git_file_history - First observed
ora_git_summary - First observed
ora_human_activate - First observed
ora_human_create - First observed
ora_human_evolve - First observed
ora_human_forget - First observed
ora_human_introspect - First observed
ora_human_list - First observed
ora_human_recall - First observed
ora_human_remember - First observed
ora_init_rules - First observed
ora_learn_patterns - First observed
ora_list - First observed
ora_list_workflows - First observed
ora_project_context - First observed
ora_recall_decisions - First observed
ora_run_workflow - First observed
ora_search - First observed
ora_session_history - First observed
ora_session_summary - First observed
ora_stats - First observed
ora_suggest - First observed
ora_templates - First observed
ora_ticket_get - First observed
ora_ticket_list - First observed
ora_ticket_update
TDQS
Each tool has a clearly distinct purpose: capture types (note, decision, component, file, folder) are separated, human management tools are unique, git and ticket tools are specific. The only potential overlap is ora_auto_capture, but it is explicitly an intelligent dispatch that does not replace manual choices.
All tools follow the 'ora_<verb>_<noun>' pattern with consistent prefixes like 'capture_', 'human_', 'git_', 'ticket_', 'workflow_'. The naming is uniform and predictable across all 43 tools.
With 43 tools, the count is well above the typical well-scoped range (3-15). While the server covers a broad domain, the number of tools feels excessive and may overwhelm an agent, making selection harder.
The tool set covers creation, retrieval, search, listing, and deletion for most memory types, plus session and human management. However, missing update/edit functionality for captured items (notes, decisions, etc.) is a minor gap.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Shared memory for AI coding agents. Save once, reuse from Cursor, Claude Code, Codex.
Shared memory for coding agents. Stop re-explaining your codebase every session.
Related MCP Servers
- AlicenseAqualityBmaintenancePersistent memory for Claude Code. Automatically indexes every conversation and provides production-grade hybrid search (BM25 + vectors + reranker) via MCP tools. 100% local, zero config, zero API keys, zero invoice.16577MIT
- AlicenseAqualityFmaintenancePersistent memory and automatic git snapshots for Claude Code, capturing decisions, patterns, and architecture across sessions.107698MIT
- AlicenseNot gradedqualityCmaintenanceGives Claude Code long-term memory that persists across sessions via hybrid BM25 and vector semantic search, with multi-project isolation.118MIT
- AlicenseNot gradedqualityDmaintenancePersistent memory for Claude Code — a self-evolving knowledge layer that survives across sessions, grows from every conversation, and surfaces relevant context automatically.14MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/black-dash77/ora-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server