indices

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Indices MCP Server Guide

Indices MCP Server 指南

Overview

概述

Indices is an MCP server that "turns any website into an API" by learning how websites work and creating reusable "tasks" that can be executed with runtime-specified parameters.
Key Concept: Tasks are typically created in the Indices dashboard, so your primary job is to stitch together pre-existing tasks to accomplish user goals. However, the MCP does provide the ability to create tasks programmatically if needed.
Indices 是一款 MCP 服务器,它通过学习网站的运行方式,创建可复用的「任务」,这些任务可使用运行时指定的参数执行,从而实现「将任意网站转换为 API」的功能。
核心概念:任务通常在 Indices 控制台中创建,因此你的主要工作是将已有的任务组合起来,完成用户的目标。不过,如有需要,MCP 也支持以编程方式创建任务。

When to Use Indices

何时使用 Indices

Use Indices for any user queries that involve:
  • Retrieving data from external websites
  • Performing actions on external services
  • Automating web interactions
  • Querying external APIs through web interfaces
当用户的查询涉及以下场景时,可使用 Indices:
  • 从外部网站获取数据
  • 在外部服务上执行操作
  • 自动化网页交互
  • 通过网页界面调用外部 API

Available MCP Tools

可用的 MCP 工具

Task Management

任务管理

mcp__indices-mcp__listTasks

mcp__indices-mcp__listTasks

Lists all available tasks that have been created.
  • No parameters required
  • Returns all tasks with their IDs, display names, and configurations
列出所有已创建的可用任务。
  • 无需参数
  • 返回所有任务的 ID、显示名称和配置信息

mcp__indices-mcp__retrieveTask

mcp__indices-mcp__retrieveTask

Retrieves details about a specific task.
  • Required:
    id
    (UUID) - The task ID
获取特定任务的详细信息。
  • 必填参数:
    id
    (UUID) - 任务 ID

mcp__indices-mcp__createTask

mcp__indices-mcp__createTask

Creates a new task to perform actions on a website.
  • Required parameters:
    • display_name
      - Short title for the dashboard
    • task
      - Detailed explanation of the task
    • website
      - The target website URL
    • input_schema
      - JSON schema defining input parameters
    • output_schema
      - JSON schema defining output format
  • Optional:
    is_fully_autonomous
    (boolean) - If true, runs autonomously; if false, requires manual completion
创建新任务以在网站上执行操作。
  • 必填参数:
    • display_name
      - 控制台显示的简短标题
    • task
      - 任务的详细说明
    • website
      - 目标网站的 URL
    • input_schema
      - 定义输入参数的 JSON 模式
    • output_schema
      - 定义输出格式的 JSON 模式
  • 可选参数:
    is_fully_autonomous
    (布尔值) - 若为 true,任务将自主运行;若为 false,需手动完成

mcp__indices-mcp__deleteTask

mcp__indices-mcp__deleteTask

Deletes a task by its ID.
  • Required:
    id
    (UUID)
根据 ID 删除任务。
  • 必填参数:
    id
    (UUID)

Task Execution

任务执行

mcp__indices-mcp__createRun

mcp__indices-mcp__createRun

Executes a pre-existing task.
  • Required:
    task_id
    (UUID)
  • Optional:
    arguments
    (object) - Arguments matching the task's input schema
执行已有的任务。
  • 必填参数:
    task_id
    (UUID)
  • 可选参数:
    arguments
    (对象) - 与任务输入模式匹配的参数

mcp__indices-mcp__listTaskRuns

mcp__indices-mcp__listTaskRuns

Lists all runs for a given task.
  • Required:
    task_id
    (UUID)
列出指定任务的所有运行记录。
  • 必填参数:
    task_id
    (UUID)

mcp__indices-mcp__retrieveRun

mcp__indices-mcp__retrieveRun

Retrieves details about a specific run.
  • Required:
    run_id
    (UUID)
获取特定运行记录的详细信息。
  • 必填参数:
    run_id
    (UUID)

Manual Task Completion

手动任务完成

mcp__indices-mcp__task_startManualSession

mcp__indices-mcp__task_startManualSession

Spawns a browser session for manual task completion.
  • Required:
    id
    (UUID) - The task ID
  • Optional:
    body.use_proxy
    (boolean) - Use proxy for the session
  • Note: Replaces any existing session
启动浏览器会话以手动完成任务。
  • 必填参数:
    id
    (UUID) - 任务 ID
  • 可选参数:
    body.use_proxy
    (布尔值) - 会话是否使用代理
  • 注意:会替换已有的会话

mcp__indices-mcp__task_completeManualSession

mcp__indices-mcp__task_completeManualSession

Marks the manual browser session as complete.
  • Required:
    id
    (UUID) - The task ID
将手动浏览器会话标记为完成。
  • 必填参数:
    id
    (UUID) - 任务 ID

Typical Workflow

典型工作流程

1. List Available Tasks

1. 列出可用任务

Start by checking what tasks already exist:
mcp__indices-mcp__listTasks
首先检查已有的任务:
mcp__indices-mcp__listTasks

2. Execute Pre-existing Tasks

2. 执行已有任务

Most of the time, you'll execute existing tasks with appropriate parameters:
mcp__indices-mcp__createRun
  task_id: <task-uuid>
  arguments: { key: "value", ... }
大多数情况下,你只需使用合适的参数执行已有任务:
mcp__indices-mcp__createRun
  task_id: <task-uuid>
  arguments: { key: "value", ... }

3. Check Run Results

3. 检查运行结果

Retrieve the run to see results:
mcp__indices-mcp__retrieveRun
  run_id: <run-uuid>
获取运行记录以查看结果:
mcp__indices-mcp__retrieveRun
  run_id: <run-uuid>

4. Create New Tasks (if needed)

4. 创建新任务(如有需要)

Only create new tasks if no existing task fits the need:
mcp__indices-mcp__createTask
  display_name: "Descriptive Name"
  task: "Detailed task description"
  website: "https://example.com"
  input_schema: { JSON schema }
  output_schema: { JSON schema }
  is_fully_autonomous: true/false
仅当没有合适的已有任务时,才创建新任务:
mcp__indices-mcp__createTask
  display_name: "描述性名称"
  task: "详细的任务说明"
  website: "https://example.com"
  input_schema: { JSON schema }
  output_schema: { JSON schema }
  is_fully_autonomous: true/false

Best Practices

最佳实践

  1. Always check existing tasks first - Use
    listTasks
    before creating new ones
  2. Understand the task's input schema - Review task details to know what arguments are needed
  3. Use descriptive task names - When creating tasks, use clear display names
  4. Prefer autonomous tasks - Set
    is_fully_autonomous: true
    when possible for better automation
  5. Handle manual sessions carefully - If a task requires manual completion:
    • Start the session with
      task_startManualSession
    • Complete user actions in the browser
    • Mark as complete with
      task_completeManualSession
  6. Monitor runs - Use
    listTaskRuns
    and
    retrieveRun
    to track execution status
  1. 始终先检查已有任务 - 创建新任务前,先使用
    listTasks
    查看是否有合适的任务
  2. 理解任务的输入模式 - 查看任务详情,了解所需的参数
  3. 使用描述性的任务名称 - 创建任务时,使用清晰的显示名称
  4. 优先使用自主任务 - 尽可能设置
    is_fully_autonomous: true
    ,以实现更好的自动化
  5. 谨慎处理手动会话 - 如果任务需要手动完成:
    • 使用
      task_startManualSession
      启动会话
    • 在浏览器中完成用户操作
    • 使用
      task_completeManualSession
      标记为完成
  6. 监控运行状态 - 使用
    listTaskRuns
    retrieveRun
    跟踪执行状态

Example: Typical User Query Flow

示例:典型用户查询流程

User: "Get the latest price for Bitcoin from CoinGecko"
  1. List tasks to see if a CoinGecko price task exists
  2. If exists: Run the task with
    { "cryptocurrency": "bitcoin" }
    as arguments
  3. If not exists: Create a new task with appropriate schemas
  4. Retrieve the run results
  5. Present the data to the user
用户:"获取 CoinGecko 上比特币的最新价格"
  1. 列出任务,查看是否存在 CoinGecko 价格查询任务
  2. 若存在:使用参数
    { "cryptocurrency": "bitcoin" }
    运行该任务
  3. 若不存在:创建带有合适模式的新任务
  4. 获取运行结果
  5. 将数据呈现给用户

Schema Design Tips

模式设计技巧

When creating tasks, design clear schemas:
Input Schema Example:
json
{
  "type": "object",
  "properties": {
    "cryptocurrency": {
      "type": "string",
      "description": "The cryptocurrency symbol or name"
    }
  },
  "required": ["cryptocurrency"]
}
Output Schema Example:
json
{
  "type": "object",
  "properties": {
    "price": {
      "type": "number",
      "description": "Current price in USD"
    },
    "timestamp": {
      "type": "string",
      "description": "When the price was retrieved"
    }
  }
}
创建任务时,设计清晰的模式:
输入模式示例
json
{
  "type": "object",
  "properties": {
    "cryptocurrency": {
      "type": "string",
      "description": "加密货币的符号或名称"
    }
  },
  "required": ["cryptocurrency"]
}
输出模式示例
json
{
  "type": "object",
  "properties": {
    "price": {
      "type": "number",
      "description": "当前美元价格"
    },
    "timestamp": {
      "type": "string",
      "description": "价格获取时间"
    }
  }
}

Common Patterns

常见使用场景

  • Data Retrieval: Create tasks that scrape specific data points from websites
  • Form Submission: Automate form filling and submission with parameterized inputs
  • Search Operations: Create tasks that perform searches and return structured results
  • Status Checks: Query service status pages or dashboards
  • Multi-step Workflows: Chain multiple task runs together for complex operations
  • 数据获取:创建任务以从网站抓取特定数据点
  • 表单提交:使用参数化输入自动填写并提交表单
  • 搜索操作:创建任务以执行搜索并返回结构化结果
  • 状态检查:查询服务状态页面或控制台
  • 多步骤工作流:将多个任务运行链接起来,完成复杂操作

Error Handling

错误处理

  • Always check run status before assuming success
  • Handle cases where tasks may need manual intervention
  • Validate task arguments match the input schema
  • Provide clear error messages to users when tasks fail
  • 始终先检查运行状态,再假设任务成功
  • 处理需要人工干预的任务场景
  • 验证任务参数是否匹配输入模式
  • 任务失败时,向用户提供清晰的错误信息