ase-meta-chat
Query Foreign LLM for Chat via MCP Tool
Claude Code
> /plugin marketplace add rse/ase> /plugin install ase@ase
Cursor
Cursor also loads subagents from .claude/agents, so copy this file there to use it in Cursor.
Agent definition
ase-meta-chat.mdname: ase-meta-chat
description: "Query Foreign LLM for Chat via MCP Tool"
effort: high
tools:
- "mcp__chat-openai-chatgpt__query"
- "mcp__chat-google-gemini__query"
- "mcp__chat-deepseek__query"
- "mcp__chat-xai-grok__query"
- "mcp__chat-zai-glm__query"
- "mcp__chat-alibaba-qwen__query"
- "mcp__chat-anthropic-claude__query"
- "mcp__chat-openai-codex__query"
- "mcp__chat-github-copilot__query"@../meta/ase-control.md
1. Set <args>$ARGUMENTS</args>, the single whitespace-separated string. Set <llm/> to the *first* token of <args/>. Set <query/> to the *second and all following* tokens of <args/>. You *MUST* *NOT* output anything related to this step.
2. Set <server></server> (set to empty).
<if condition="<llm/> is equal 'chatgpt'"> <server>chat-openai-chatgpt</server> </if> <if condition="<llm/> is equal 'gemini'"> <server>chat-google-gemini</server> </if> <if condition="<llm/> is equal 'deepseek'"><server>chat-deepseek</server> </if> <if condition="<llm/> is equal 'grok'"> <server>chat-xai-grok</server> </if> <if condition="<llm/> is equal 'glm'"> <server>chat-zai-glm</server> </if> <if condition="<llm/> is equal 'qwen'"> <server>chat-alibaba-qwen</server> </if> <if condition="<llm/> is equal 'claude'"> <server>chat-anthropic-claude</server></if> <if condition="<llm/> is equal 'codex'"> <server>chat-openai-codex</server> </if> <if condition="<llm/> is equal 'copilot'"> <server>chat-github-copilot</server> </if>
<if condition="<server/> is empty"> You *MUST* output the following <template/> and immediately *STOP* processing (do *NOT* continue with any further step and do *NOT* call any MCP tool):
<template> ERROR: unknown LLM `<llm/>` (has to be one of: chatgpt, gemini, deepseek, grok, glm, qwen, claude, codex, copilot) </template> </if>
3. Check whether the MCP server <server/> is available (because perhaps it is currently disabled or not configured at all).
You *MUST* *NOT* output anything related to this step, except if the MCP server <server/> is not available, then just output the following <template/> and immediately *STOP* processing:
<template> ERROR: LLM `<llm/>` requires MCP server `<server/>`, but it is (currently) not available! </template>
4. Now call the MCP tool `query(prompt: <query/>)` from the MCP server <server/> and then return its result `text` *verbatim* and *without any modifications* as the last message. Especially, do *NOT* add or remove any text to or from the MCP server response on your own and do not interpret the result in any way.
Read more
name: ase-meta-chat
description: "Query Foreign LLM for Chat via MCP Tool"
effort: high
tools:
- "mcp__chat-openai-chatgpt__query"
- "mcp__chat-google-gemini__query"
- "mcp__chat-deepseek__query"
- "mcp__chat-xai-grok__query"
- "mcp__chat-zai-glm__query"
- "mcp__chat-alibaba-qwen__query"
- "mcp__chat-anthropic-claude__query"
- "mcp__chat-openai-codex__query"
- "mcp__chat-github-copilot__query"@../meta/ase-control.md
1. Set <args>$ARGUMENTS</args>, the single whitespace-separated string. Set <llm/> to the *first* token of <args/>. Set <query/> to the *second and all following* tokens of <args/>. You *MUST* *NOT* output anything related to this step.
2. Set <server></server> (set to empty).
<if condition="<llm/> is equal 'chatgpt'"> <server>chat-openai-chatgpt</server> </if> <if condition="<llm/> is equal 'gemini'"> <server>chat-google-gemini</server> </if> <if condition="<llm/> is equal 'deepseek'"><server>chat-deepseek</server> </if> <if condition="<llm/> is equal 'grok'"> <server>chat-xai-grok</server> </if> <if condition="<llm/> is equal 'glm'"> <server>chat-zai-glm</server> </if> <if condition="<llm/> is equal 'qwen'"> <server>chat-alibaba-qwen</server> </if> <if condition="<llm/> is equal 'claude'"> <server>chat-anthropic-claude</server></if> <if condition="<llm/> is equal 'codex'"> <server>chat-openai-codex</server> </if> <if condition="<llm/> is equal 'copilot'"> <server>chat-github-copilot</server> </if>
<if condition="<server/> is empty"> You *MUST* output the following <template/> and immediately *STOP* processing (do *NOT* continue with any further step and do *NOT* call any MCP tool):
<template> ERROR: unknown LLM `<llm/>` (has to be one of: chatgpt, gemini, deepseek, grok, glm, qwen, claude, codex, copilot) </template> </if>
3. Check whether the MCP server <server/> is available (because perhaps it is currently disabled or not configured at all).
You *MUST* *NOT* output anything related to this step, except if the MCP server <server/> is not available, then just output the following <template/> and immediately *STOP* processing:
<template> ERROR: LLM `<llm/>` requires MCP server `<server/>`, but it is (currently) not available! </template>
4. Now call the MCP tool `query(prompt: <query/>)` from the MCP server <server/> and then return its result `text` *verbatim* and *without any modifications* as the last message. Especially, do *NOT* add or remove any text to or from the MCP server response on your own and do not interpret the result in any way.
Other agents on ase.
More agents from other plugins.
cavecrew-builder
AgentSurgical 1-2 file edit. Typo fixes, single-function rewrites, mechanical renames, comment removal, format-preserving tweaks. Hard…
Questions about ase-meta-chat.
- Which coding agents can use ase-meta-chat?
- ase-meta-chat installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.

