ask-openai
Query OpenAI's assistant models directly to get answers to specific questions, supporting various GPT models with customizable parameters.
Instructions
Ask my assistant models a direct question
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Ask assistant | |
| model | No | gpt-4.1 | |
| temperature | No | ||
| max_tokens | No |
Implementation Reference
- src/mcp_server_openai/llm.py:10-24 (handler)Core implementation of the 'ask-openai' tool: sends query to OpenAI chat completions API and returns the response.async def ask_openai(self, query: str, model: str = "gpt-4", temperature: float = 0.7, max_tokens: int = 500) -> str: try: response = await self.client.chat.completions.create( messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": query} ], model=model, temperature=temperature, max_tokens=max_tokens ) return response.choices[0].message.content except Exception as e: logger.error(f"Failed to query OpenAI: {str(e)}") raise
- src/mcp_server_openai/server.py:136-143 (handler)Tool call dispatcher for 'ask-openai': extracts arguments and invokes LLMConnector.ask_openai.if name == "ask-openai": response = await connector.ask_openai( query=arguments["query"], model=arguments.get("model", "gpt-4"), temperature=arguments.get("temperature", 0.7), max_tokens=arguments.get("max_tokens", 500) ) return [types.TextContent(type="text", text=f"OpenAI Response:\\n{response}")]
- src/mcp_server_openai/server.py:24-37 (registration)Registers the 'ask-openai' tool with name, description, and input schema in the list_tools handler.types.Tool( name="ask-openai", description="Ask my assistant models a direct question", inputSchema={ "type": "object", "properties": { "query": {"type": "string", "description": "Ask assistant"}, "model": {"type": "string", "default": "gpt-4.1", "enum": ["gpt-4.1", "gpt-4.1-mini", "gpt-4o", "gpt-4o-mini", "o3", "o3-mini", "o3-deep-research"]}, "temperature": {"type": "number", "default": 0.1, "minimum": 0, "maximum": 1}, "max_tokens": {"type": "integer", "default": 500, "minimum": 1, "maximum": 40000} }, "required": ["query"] } ),
- Defines the input schema for the 'ask-openai' tool, including parameters for query, model, temperature, and max_tokens.inputSchema={ "type": "object", "properties": { "query": {"type": "string", "description": "Ask assistant"}, "model": {"type": "string", "default": "gpt-4.1", "enum": ["gpt-4.1", "gpt-4.1-mini", "gpt-4o", "gpt-4o-mini", "o3", "o3-mini", "o3-deep-research"]}, "temperature": {"type": "number", "default": 0.1, "minimum": 0, "maximum": 1}, "max_tokens": {"type": "integer", "default": 500, "minimum": 1, "maximum": 40000} }, "required": ["query"] } ),