SearchNinjaScriptSymbols
Fuzzy-searches the NT8 type and member surface that the running NinjaScript runtime exposes. Use this when the agent doesn't know the exact symbol name but has a guess.
| Property | Value |
|---|---|
| Required scope | mcp:read |
| Risk | None. Read-only. |
| Side effects | None. |
When an agent should use it
- After a compile error referencing an unknown identifier.
- When the user describes an indicator by behavior but not name.
- During NinjaScript discovery before authoring.
Parameters
{ "query": "moving average", "limit": 20 }
Response shape
{
"results": [
{"name": "EMA", "kind": "indicator"},
{"name": "SMA", "kind": "indicator"},
{"name": "WMA", "kind": "indicator"}
]
}
Example user prompt
Search NinjaScript symbols for "trailing stop" and "supertrend". Tell me which
ones exist in this install. Do not write any code yet.
Common errors
| Symptom | Likely cause | Fix |
|---|---|---|
| Empty results | Symbol does not exist. | Try a synonym or call GetNinjaScriptHelp for adjacent topics. |
Use in AI-generated NinjaScript workflows
- When the agent should call it: when the user describes a feature by behavior rather than name (for example "trailing stop" or "session range") and the model needs to discover the right NT8 symbol.
- Required scope:
mcp:read. - Confirmation required: no.
- What the agent should summarize: the top three matches and which one the agent intends to use, with reasoning.
- Failure mode it helps catch: the model picking a fictional symbol name. Search forces it to choose from the real surface.
For the broader vibe coding workflow, see NinjaScript AI Workflow.