Skip to main content
Glama

adamamer20-paper-search-mcp-openai

fetch

Fetch full document content for a search result.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNo
document_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed12 schema fields changed
    • addedInput schema / $schema
      Added value: +"http://json-schema.org/draft-07/schema#"
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / document_id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / document_id / default
      Removed value: -null
    • removedInput schema / properties / document_id / title
      Removed value: -"Document Id"
    • addedInput schema / properties / document_id / type
      Added value: +"string"
    • removedInput schema / properties / id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • removedInput schema / properties / id / default
      Removed value: -null
    • removedInput schema / properties / id / title
      Removed value: -"Id"
    • addedInput schema / properties / id / type
      Added value: +"string"
    • removedInput schema / title
      Removed value: -"fetchArguments"
    • changedOutput schema / (root)
      Previous value: -{
      -  "$defs": {
      -    "Annotations": {
      -      "additionalProperties": true,
      -      "properties": {
      -        "audience": {
      -          "anyOf": [
      -            {
      -              "items": {
      -                "enum": [
      -                  "user",
      -                  "assistant"
      -                ],
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null,
      -          "title": "Audience"
      -        },
      -        "priority": {
      -          "anyOf": [
      -            {
      -              "maximum": 1,
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null,
      -          "title": "Priority"
      -        }
      -      },
      -      "title": "Annotations",
      -      "type": "object"
      -    },
      -    "AudioContent": {
      -      "additionalProperties": true,
      -      "description": "Audio content for a message.",
      -      "properties": {
      -        "_meta": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": true,
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null,
      -          "title": "Meta"
      -        },
      -        "annotations": {
      -          "anyOf": [
      -            {
      -              "$ref": "#/$defs/Annotations"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null
      -        },
      -        "data": {
      -          "title": "Data",
      -          "type": "string"
      -        },
      -        "mimeType": {
      -          "title": "Mimetype",
      -          "type": "string"
      -        },
      -        "type": {
      -          "const": "audio",
      -          "title": "Type",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "type",
      -        "data",
      -        "mimeType"
      -      ],
      -      "title": "AudioContent",
      -      "type": "object"
      -    },
      -    "BlobResourceContents": {
      -      "additionalProperties": true,
      -      "description": "Binary contents of a resource.",
      -      "properties": {
      -        "_meta": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": true,
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null,
      -          "title": "Meta"
      -        },
      -        "blob": {
      -          "title": "Blob",
      -          "type": "string"
      -        },
      -        "mimeType": {
      -          "anyOf": [
      -            {
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null,
      -          "title": "Mimetype"
      -        },
      -        "uri": {
      -          "format": "uri",
      -          "minLength": 1,
      -          "title": "Uri",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "uri",
      -        "blob"
      -      ],
      -      "title": "BlobResourceContents",
      -      "type": "object"
      -    },
      -    "EmbeddedResource": {
      -      "additionalProperties": true,
      -      "description": "The contents of a resource, embedded into a prompt or tool call result.\n\nIt is up to the client how best to render embedded resources for the benefit\nof the LLM and/or the user.",
      -      "properties": {
      -        "_meta": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": true,
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null,
      -          "title": "Meta"
      -        },
      -        "annotations": {
      -          "anyOf": [
      -            {
      -              "$ref": "#/$defs/Annotations"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null
      -        },
      -        "resource": {
      -          "anyOf": [
      -            {
      -              "$ref": "#/$defs/TextResourceContents"
      -            },
      -            {
      -              "$ref": "#/$defs/BlobResourceContents"
      -            }
      -          ],
      -          "title": "Resource"
      -        },
      -        "type": {
      -          "const": "resource",
      -          "title": "Type",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "type",
      -        "resource"
      -      ],
      -      "title": "EmbeddedResource",
      -      "type": "object"
      -    },
      -    "ImageContent": {
      -      "additionalProperties": true,
      -      "description": "Image content for a message.",
      -      "properties": {
      -        "_meta": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": true,
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null,
      -          "title": "Meta"
      -        },
      -        "annotations": {
      -          "anyOf": [
      -            {
      -              "$ref": "#/$defs/Annotations"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null
      -        },
      -        "data": {
      -          "title": "Data",
      -          "type": "string"
      -        },
      -        "mimeType": {
      -          "title": "Mimetype",
      -          "type": "string"
      -        },
      -        "type": {
      -          "const": "image",
      -          "title": "Type",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "type",
      -        "data",
      -        "mimeType"
      -      ],
      -      "title": "ImageContent",
      -      "type": "object"
      -    },
      -    "ResourceLink": {
      -      "additionalProperties": true,
      -      "description": "A resource that the server is capable of reading, included in a prompt or tool call result.\n\nNote: resource links returned by tools are not guaranteed to appear in the results of `resources/list` requests.",
      -      "properties": {
      -        "_meta": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": true,
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null,
      -          "title": "Meta"
      -        },
      -        "annotations": {
      -          "anyOf": [
      -            {
      -              "$ref": "#/$defs/Annotations"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null
      -        },
      -        "description": {
      -          "anyOf": [
      -            {
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null,
      -          "title": "Description"
      -        },
      -        "mimeType": {
      -          "anyOf": [
      -            {
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null,
      -          "title": "Mimetype"
      -        },
      -        "name": {
      -          "title": "Name",
      -          "type": "string"
      -        },
      -        "size": {
      -          "anyOf": [
      -            {
      -              "type": "integer"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null,
      -          "title": "Size"
      -        },
      -        "title": {
      -          "anyOf": [
      -            {
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null,
      -          "title": "Title"
      -        },
      -        "type": {
      -          "const": "resource_link",
      -          "title": "Type",
      -          "type": "string"
      -        },
      -        "uri": {
      -          "format": "uri",
      -          "minLength": 1,
      -          "title": "Uri",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "name",
      -        "uri",
      -        "type"
      -      ],
      -      "title": "ResourceLink",
      -      "type": "object"
      -    },
      -    "TextContent": {
      -      "additionalProperties": true,
      -      "description": "Text content for a message.",
      -      "properties": {
      -        "_meta": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": true,
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null,
      -          "title": "Meta"
      -        },
      -        "annotations": {
      -          "anyOf": [
      -            {
      -              "$ref": "#/$defs/Annotations"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null
      -        },
      -        "text": {
      -          "title": "Text",
      -          "type": "string"
      -        },
      -        "type": {
      -          "const": "text",
      -          "title": "Type",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "type",
      -        "text"
      -      ],
      -      "title": "TextContent",
      -      "type": "object"
      -    },
      -    "TextResourceContents": {
      -      "additionalProperties": true,
      -      "description": "Text contents of a resource.",
      -      "properties": {
      -        "_meta": {
      -          "anyOf": [
      -            {
      -              "additionalProperties": true,
      -              "type": "object"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null,
      -          "title": "Meta"
      -        },
      -        "mimeType": {
      -          "anyOf": [
      -            {
      -              "type": "string"
      -            },
      -            {
      -              "type": "null"
      -            }
      -          ],
      -          "default": null,
      -          "title": "Mimetype"
      -        },
      -        "text": {
      -          "title": "Text",
      -          "type": "string"
      -        },
      -        "uri": {
      -          "format": "uri",
      -          "minLength": 1,
      -          "title": "Uri",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "uri",
      -        "text"
      -      ],
      -      "title": "TextResourceContents",
      -      "type": "object"
      -    }
      -  },
      -  "additionalProperties": true,
      -  "description": "The server's response to a tool call.",
      -  "properties": {
      -    "_meta": {
      -      "anyOf": [
      -        {
      -          "additionalProperties": true,
      -          "type": "object"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Meta"
      -    },
      -    "content": {
      -      "items": {
      -        "anyOf": [
      -          {
      -            "$ref": "#/$defs/TextContent"
      -          },
      -          {
      -            "$ref": "#/$defs/ImageContent"
      -          },
      -          {
      -            "$ref": "#/$defs/AudioContent"
      -          },
      -          {
      -            "$ref": "#/$defs/ResourceLink"
      -          },
      -          {
      -            "$ref": "#/$defs/EmbeddedResource"
      -          }
      -        ]
      -      },
      -      "title": "Content",
      -      "type": "array"
      -    },
      -    "isError": {
      -      "default": false,
      -      "title": "Iserror",
      -      "type": "boolean"
      -    },
      -    "structuredContent": {
      -      "anyOf": [
      -        {
      -          "additionalProperties": true,
      -          "type": "object"
      -        },
      -        {
      -          "type": "null"
      -        }
      -      ],
      -      "default": null,
      -      "title": "Structuredcontent"
      -    }
      -  },
      -  "required": [
      -    "content"
      -  ],
      -  "title": "CallToolResult",
      -  "type": "object"
      -}New value: +null
  2. First observed

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It implies a read-only operation via 'Fetch,' but fails to disclose return format, error handling, rate limits, or whether the content is cached or retrieved live. Lacks critical behavioral context for a tool interacting with multiple academic APIs.

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

Conciseness4/5

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

Extremely concise single sentence with no filler words. However, given the complexity (2 undocumented parameters, 20+ siblings, no output schema), this brevity results in underspecification. The sentence earns its place, but the description needs additional sentences to be complete.

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

Completeness2/5

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

Inadequate for the tool's complexity. With 2 undocumented parameters, no annotations, no output schema, and a crowded namespace of similar tools, the description must explain parameter semantics, return values, and tool selection logic. It provides none of these, leaving critical gaps in the agent's understanding.

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?

With 0% schema description coverage for the two parameters (id, document_id), the description must compensate but fails to do so adequately. While 'search result' implies the semantic meaning of one parameter, it does not explain the relationship between 'id' and 'document_id' (whether they are alternatives, sequential, or different ID types), leaving parameter selection ambiguous.

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

Purpose3/5

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

States the basic action (Fetch) and resource (full document content) clearly, but fails to differentiate from the numerous sibling read_* and download_* tools (e.g., read_arxiv_paper, download_crossref). The phrase 'for a search result' hints at the input source but doesn't clarify if this is a generic tool or specific to certain sources.

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

Usage Guidelines2/5

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

Provides no explicit guidance on when to use this tool versus the source-specific read_* tools or the download_* tools. The phrase 'for a search result' implies it follows a search operation, but doesn't state prerequisites or contraindications (e.g., whether it requires a specific search tool first).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.