indices
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseIndices 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__listTasksmcp__indices-mcp__listTasks
mcp__indices-mcp__listTasksLists 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__retrieveTaskmcp__indices-mcp__retrieveTask
mcp__indices-mcp__retrieveTaskRetrieves details about a specific task.
- Required: (UUID) - The task ID
id
获取特定任务的详细信息。
- 必填参数:(UUID) - 任务 ID
id
mcp__indices-mcp__createTask
mcp__indices-mcp__createTaskmcp__indices-mcp__createTask
mcp__indices-mcp__createTaskCreates a new task to perform actions on a website.
- Required parameters:
- - Short title for the dashboard
display_name - - Detailed explanation of the task
task - - The target website URL
website - - JSON schema defining input parameters
input_schema - - JSON schema defining output format
output_schema
- Optional: (boolean) - If true, runs autonomously; if false, requires manual completion
is_fully_autonomous
创建新任务以在网站上执行操作。
- 必填参数:
- - 控制台显示的简短标题
display_name - - 任务的详细说明
task - - 目标网站的 URL
website - - 定义输入参数的 JSON 模式
input_schema - - 定义输出格式的 JSON 模式
output_schema
- 可选参数:(布尔值) - 若为 true,任务将自主运行;若为 false,需手动完成
is_fully_autonomous
mcp__indices-mcp__deleteTask
mcp__indices-mcp__deleteTaskmcp__indices-mcp__deleteTask
mcp__indices-mcp__deleteTaskDeletes a task by its ID.
- Required: (UUID)
id
根据 ID 删除任务。
- 必填参数:(UUID)
id
Task Execution
任务执行
mcp__indices-mcp__createRun
mcp__indices-mcp__createRunmcp__indices-mcp__createRun
mcp__indices-mcp__createRunExecutes a pre-existing task.
- Required: (UUID)
task_id - Optional: (object) - Arguments matching the task's input schema
arguments
执行已有的任务。
- 必填参数:(UUID)
task_id - 可选参数:(对象) - 与任务输入模式匹配的参数
arguments
mcp__indices-mcp__listTaskRuns
mcp__indices-mcp__listTaskRunsmcp__indices-mcp__listTaskRuns
mcp__indices-mcp__listTaskRunsLists all runs for a given task.
- Required: (UUID)
task_id
列出指定任务的所有运行记录。
- 必填参数:(UUID)
task_id
mcp__indices-mcp__retrieveRun
mcp__indices-mcp__retrieveRunmcp__indices-mcp__retrieveRun
mcp__indices-mcp__retrieveRunRetrieves details about a specific run.
- Required: (UUID)
run_id
获取特定运行记录的详细信息。
- 必填参数:(UUID)
run_id
Manual Task Completion
手动任务完成
mcp__indices-mcp__task_startManualSession
mcp__indices-mcp__task_startManualSessionmcp__indices-mcp__task_startManualSession
mcp__indices-mcp__task_startManualSessionSpawns a browser session for manual task completion.
- Required: (UUID) - The task ID
id - Optional: (boolean) - Use proxy for the session
body.use_proxy - Note: Replaces any existing session
启动浏览器会话以手动完成任务。
- 必填参数:(UUID) - 任务 ID
id - 可选参数:(布尔值) - 会话是否使用代理
body.use_proxy - 注意:会替换已有的会话
mcp__indices-mcp__task_completeManualSession
mcp__indices-mcp__task_completeManualSessionmcp__indices-mcp__task_completeManualSession
mcp__indices-mcp__task_completeManualSessionMarks the manual browser session as complete.
- Required: (UUID) - The task ID
id
将手动浏览器会话标记为完成。
- 必填参数:(UUID) - 任务 ID
id
Typical Workflow
典型工作流程
1. List Available Tasks
1. 列出可用任务
Start by checking what tasks already exist:
mcp__indices-mcp__listTasks首先检查已有的任务:
mcp__indices-mcp__listTasks2. 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/falseBest Practices
最佳实践
- Always check existing tasks first - Use before creating new ones
listTasks - Understand the task's input schema - Review task details to know what arguments are needed
- Use descriptive task names - When creating tasks, use clear display names
- Prefer autonomous tasks - Set when possible for better automation
is_fully_autonomous: true - 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
- Start the session with
- Monitor runs - Use and
listTaskRunsto track execution statusretrieveRun
- 始终先检查已有任务 - 创建新任务前,先使用 查看是否有合适的任务
listTasks - 理解任务的输入模式 - 查看任务详情,了解所需的参数
- 使用描述性的任务名称 - 创建任务时,使用清晰的显示名称
- 优先使用自主任务 - 尽可能设置 ,以实现更好的自动化
is_fully_autonomous: true - 谨慎处理手动会话 - 如果任务需要手动完成:
- 使用 启动会话
task_startManualSession - 在浏览器中完成用户操作
- 使用 标记为完成
task_completeManualSession
- 使用
- 监控运行状态 - 使用 和
listTaskRuns跟踪执行状态retrieveRun
Example: Typical User Query Flow
示例:典型用户查询流程
User: "Get the latest price for Bitcoin from CoinGecko"
- List tasks to see if a CoinGecko price task exists
- If exists: Run the task with as arguments
{ "cryptocurrency": "bitcoin" } - If not exists: Create a new task with appropriate schemas
- Retrieve the run results
- Present the data to the user
用户:"获取 CoinGecko 上比特币的最新价格"
- 列出任务,查看是否存在 CoinGecko 价格查询任务
- 若存在:使用参数 运行该任务
{ "cryptocurrency": "bitcoin" } - 若不存在:创建带有合适模式的新任务
- 获取运行结果
- 将数据呈现给用户
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
- 始终先检查运行状态,再假设任务成功
- 处理需要人工干预的任务场景
- 验证任务参数是否匹配输入模式
- 任务失败时,向用户提供清晰的错误信息