← openai-search-mcp

openai-search-mcp 0.1.1

npm · openai-search-mcp · current release

5
Tools
0
Resources
0
Templates
0
Prompts

Observation

Observed 2026-08-17T18:46:42.426Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.

Server capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools 5

ToolCategoryAnnotationsRisk
get_config_infoReturns the current OpenAI Search MCP server configuration information and tests the connection. This tool is useful for: - Verifying that environment variables are correctly configured - Testing API connectivity by sending a request to /models endpoint - Debugging configuration issues - Checking the current API endpoint and settings Returns ------- A JSON-encoded string containing configuration details: - `api_url`: The configured OpenAI-compatible API endpoint - `api_key`: The API key (masked for security, showing only first and last 4 characters) - `model`: The currently selected model for search and fetch operations - `debug_enabled`: Whether debug mode is enabled - `log_level`: Current logging level - `log_dir`: Directory where logs are stored - `config_status`: Overall configuration status (✅ complete or ❌ error) - `connection_test`: Result of testing API connectivity to /models endpoint - `status`: Connection status - `message`: Status message with model count - `response_time_ms`: API response time in milliseconds - `available_models`: List of available model IDs (only present on successful connection) Notes ----- - API keys are automatically masked for security - This tool does not require any parameters - Useful for troubleshooting before making actual search requests - Automatically tests API connectivity during execution
Input schema
{
  "type": "object",
  "properties": {}
}
— · —
switch_modelSwitches the default AI model used for search and fetch operations, and persists the setting. This tool is useful for: - Changing the AI model used for web search and content fetching - Testing different models for performance or quality comparison - Persisting model preference across sessions Parameters ---------- model : str The model ID to switch to (e.g., "gpt-4o", "gpt-4o-mini") Returns ------- A JSON-encoded string containing: - `status`: Success or error status - `previous_model`: The model that was being used before - `current_model`: The newly selected model - `message`: Status message - `config_file`: Path where the model preference is saved Notes ----- - The model setting is persisted to ~/.config/openai-search/config.json - This setting will be used for all future search and fetch operations - You can verify available models using the get_config_info tool
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "model": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "gpt-4o",
            "gpt-4o-mini",
            "gpt-4-turbo"
          ]
        },
        {
          "type": "string"
        }
      ],
      "description": "Model ID"
    }
  },
  "required": [
    "model"
  ]
}
— · —
toggle_builtin_toolsToggle Claude Code's built-in WebSearch and WebFetch tools on/off. Parameters: action - "on" (block built-in), "off" (allow built-in), "status" (check) Returns: JSON with current status and deny list
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "action": {
      "default": "status",
      "description": "Action type",
      "type": "string",
      "enum": [
        "on",
        "off",
        "status"
      ]
    }
  }
}
— · —
web_fetchFetches and extracts the complete content from a specified URL and returns it as a structured Markdown document. The `url` should be a valid HTTP/HTTPS web address pointing to the target page. Ensure the URL is complete and accessible (not behind authentication or paywalls). `fetch_engine` (optional): Which engine to use. When omitted, the server uses the `FETCH_ENGINE` env (default `llm`). `llm` = OpenAI-compatible model; `tavily` / `firecrawl` = dedicated crawl (set TAVILY_API_KEY or FIRECRAWL_API_KEY). Returns ------- A Markdown-formatted string containing: - Metadata header (source URL, title, fetch timestamp) - Table of Contents (if applicable) - Complete page content with preserved structure - All text, links, images, tables, and code blocks from the original page Notes ----- - Does NOT summarize or modify content - returns complete original text - `tavily` / `firecrawl` perform real HTTP fetch and handle anti-bot; `llm` depends on the model's browse capability.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "The URL of the web page to fetch"
    },
    "fetch_engine": {
      "description": "Engine for fetch: llm (model), tavily (Tavily API), firecrawl (Firecrawl API). When omitted, server uses FETCH_ENGINE env.",
      "type": "string",
      "enum": [
        "llm",
        "tavily",
        "firecrawl"
      ]
    }
  },
  "required": [
    "url"
  ]
}
— · —
web_searchPerforms a third-party web search based on the given query and returns the results as a JSON string. The `query` should be a clear, self-contained natural-language search query. When helpful, include constraints such as topic, time range, language, or domain. The `platform` should be the platforms which you should focus on searching, such as "Twitter", "GitHub", "Reddit", etc. The `min_results` and `max_results` should be the minimum and maximum number of results to return. Returns ------- A JSON-encoded string representing a list of search results. Each result includes at least: - `url`: the link to the result - `title`: a short title - `summary`: a brief description or snippet of the page content.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query keyword"
    },
    "platform": {
      "description": "Specify search platform",
      "type": "string"
    },
    "min_results": {
      "default": 3,
      "description": "Minimum number of results",
      "type": "number"
    },
    "max_results": {
      "default": 10,
      "description": "Maximum number of results",
      "type": "number"
    }
  },
  "required": [
    "query"
  ]
}
— · —

Resources 0

Resource templates 0

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.