ask-openai
Ask direct questions to OpenAI's GPT models through the MCP server, receiving AI-generated answers for information, analysis, or problem-solving tasks.
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: calls OpenAI's chat.completions.create API with system prompt and user query.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)Dispatch logic in the @server.call_tool() handler that invokes LLMConnector.ask_openai with arguments from the tool call.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)Registration of the 'ask-openai' tool in the @server.list_tools() handler, defining name, description, and input schema.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"] } ),
- Input schema definition for the 'ask-openai' tool, specifying parameters like query (required), 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"] }