Skip to main content
Glama
sifter-ai

sifter-mcp

Official

get_extraction_status

Retrieve the extraction status of a document within a sift, indicating queued, running, completed, or failed.

Instructions

Check extraction status for a document on a sift.

Args:
    document_id: The document identifier
    sift_id: The sift identifier

Returns:
    {"status": "queued|running|completed|failed", "error": "..." (on failure)}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
document_idYes
sift_idYes

Implementation Reference

  • The async function `get_extraction_status` that implements the tool logic. Decorated with @mcp.tool(), it takes `document_id` and `sift_id` parameters, creates a client via `_get_client()`, gets the sift handle, calls `handle.extraction_status(document_id)`, and returns the status.
    @mcp.tool()
    async def get_extraction_status(document_id: str, sift_id: str) -> dict:
        """Check extraction status for a document on a sift.
    
        Args:
            document_id: The document identifier
            sift_id: The sift identifier
    
        Returns:
            {"status": "queued|running|completed|failed", "error": "..." (on failure)}
        """
        async with _get_client() as client:
            handle = await client.get_sift(sift_id)
            status = await handle.extraction_status(document_id)
        return {"status": status}
  • The `@mcp.tool()` decorator on line 242 registers `get_extraction_status` as an MCP tool with the FastMCP server instance `mcp` (created on line 41).
    @mcp.tool()
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden. It states that the tool checks status and returns a status object, but does not disclose whether it is read-only, any side effects, rate limits, or authentication requirements. The return structure is helpful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with no wasted words, using a clear docstring format. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description usefully includes the return structure. However, it lacks context on when to use this tool vs siblings, and no error handling details beyond the return schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, and the description's param explanations ('The document identifier', 'The sift identifier') merely restate what is obvious from names and types. No additional meaning, constraints, or sources are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: checking extraction status for a document on a sift. This is a specific verb+resource combination that distinguishes it from siblings like run_extraction or query_sift.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage after starting extraction but does not explicitly state when to use this tool versus alternatives like run_extraction or query_sift. No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sifter-ai/sifter'

If you have feedback or need assistance with the MCP directory API, please join our Discord server