SourceToMe

Search and cite passages from a vetted, rights-cleared reference library.

Should I use this

Quality & Safety

A
Description quality
90%
Schema completeness
79%
Naming quality
96%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'retrieve_evidence' description lacks action verbin retrieve_evidence

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,817Tokens (tool definitions)
~6.2 KBTypical response size
Significant attention impact (2.20% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "sourcetome": {
      "url": "https://sourcetome-public.onrender.com/mcp"
    }
  }
}

Remote endpoints

https://sourcetome-public.onrender.com/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_library(query, source_ids, limit)

Find passages in the public reference library: Pride and Prejudice, Frankenstein 1818/1831 and The Art of War (Giles). Includes the four available sources with stable IDs for follow-up even when no passage matches; no personal library or internet search.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "maxLength": 600,
      "minLength": 3,
      "title": "Query",
      "type": "string"
    },
    "source_ids": {
      "default": [],
      "items": {
        "maxLength": 50,
        "minLength": 1,
        "pattern": "^public-pg-[0-9]+$",
        "type": "string"
      },
      "maxItems": 4,
      "title": "Source Ids",
      "type": "array"
    },
    "limit": {
      "default": 5,
      "maximum": 5,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "query"
  ],
  "title": "search_libraryArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "title": "Status",
      "type": "string"
    },
    "notice": {
      "default": "Public reference library. Lexical retrieval only. Source identity checks do not prove truth. This eBook is for the use of anyone anywhere in the United States and most other parts of the world at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.org. If you are not located in the United States, you'll have to check the laws of the country where you are located before using this ebook. Full license: https://www.gutenberg.org/policy/license.html",
      "title": "Notice",
      "type": "string"
    },
    "reason": {
      "title": "Reason",
      "type": "string"
    },
    "hits": {
      "default": [],
      "items": {
        "$ref": "#/$defs/SearchHit"
      },
      "title": "Hits",
      "type": "array"
    },
    "available_sources": {
      "default": [],
      "items": {
        "$ref": "#/$defs/SourceSummary"
      },
      "title": "Available Sources",
      "type": "array"
    },
    "error_code": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error Code"
    }
  },
  "required": [
    "status",
    "reason"
  ],
  "$defs": {
    "SearchHit": {
      "properties": {
        "passage_id": {
          "title": "Passage Id",
          "type": "integer"
        },
        "source_id": {
          "title": "Source Id",
          "type": "string"
        },
        "title": {
          "title": "Title",
          "type": "string"
        },
        "edition": {
          "title": "Edition",
          "type": "string"
        },
        "locator": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Locator"
        },
        "excerpt": {
          "title": "Excerpt",
          "type": "string"
        },
        "citation_url": {
          "title": "Citation Url",
          "type": "string"
        }
      },
      "required": [
        "passage_id",
        "source_id",
        "title",
        "edition",
        "locator",
        "excerpt",
        "citation_url"
      ],
      "title": "SearchHit",
      "type": "object"
    },
    "SourceSummary": {
      "properties": {
        "source_id": {
          "title": "Source Id",
          "type": "string"
        },
        "title": {
          "title": "Title",
          "type": "string"
        },
        "edition": {
          "title": "Edition",
          "type": "string"
        },
        "translators": {
          "items": {
            "type": "string"
          },
          "title": "Translators",
          "type": "array"
        },
        "coverage": {
          "title": "Coverage",
          "type": "string"
        }
      },
      "required": [
        "source_id",
        "title",
        "edition",
        "translators",
        "coverage"
      ],
      "title": "SourceSummary",
      "type": "object"
    }
  },
  "title": "SearchResult"
}
🟢retrieve_evidence(question, source_ids, limit, locator)

Return passages, edition, locator and provenance from the bounded public library. To request an exact indexed locator, provide one source ID and that full locator. Multiple IDs permit edition comparison; missing evidence is reported.

Input Schema

{
  "type": "object",
  "properties": {
    "question": {
      "maxLength": 600,
      "minLength": 3,
      "title": "Question",
      "type": "string"
    },
    "source_ids": {
      "default": [],
      "items": {
        "maxLength": 50,
        "minLength": 1,
        "pattern": "^public-pg-[0-9]+$",
        "type": "string"
      },
      "maxItems": 4,
      "title": "Source Ids",
      "type": "array"
    },
    "limit": {
      "default": 5,
      "maximum": 5,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    },
    "locator": {
      "anyOf": [
        {
          "maxLength": 120,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Locator"
    }
  },
  "required": [
    "question"
  ],
  "title": "retrieve_evidenceArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "title": "Status",
      "type": "string"
    },
    "error_code": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error Code"
    },
    "notice": {
      "default": "Public reference library. Lexical retrieval only. Source identity checks do not prove truth. This eBook is for the use of anyone anywhere in the United States and most other parts of the world at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.org. If you are not located in the United States, you'll have to check the laws of the country where you are located before using this ebook. Full license: https://www.gutenberg.org/policy/license.html",
      "title": "Notice",
      "type": "string"
    },
    "coverage": {
      "default": "Insufficient",
      "title": "Coverage",
      "type": "string"
    },
    "reason": {
      "title": "Reason",
      "type": "string"
    },
    "evidence": {
      "default": [],
      "items": {
        "$ref": "#/$defs/Evidence"
      },
      "title": "Evidence",
      "type": "array"
    },
    "independent_works": {
      "default": 0,
      "title": "Independent Works",
      "type": "integer"
    },
    "limitations": {
      "default": [],
      "items": {
        "type": "string"
      },
      "title": "Limitations",
      "type": "array"
    }
  },
  "required": [
    "status",
    "reason"
  ],
  "$defs": {
    "Evidence": {
      "properties": {
        "passage_id": {
          "title": "Passage Id",
          "type": "integer"
        },
        "source_id": {
          "title": "Source Id",
          "type": "string"
        },
        "work_id": {
          "title": "Work Id",
          "type": "string"
        },
        "title": {
          "title": "Title",
          "type": "string"
        },
        "edition": {
          "title": "Edition",
          "type": "string"
        },
        "locator": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Locator"
        },
        "passage": {
          "title": "Passage",
          "type": "string"
        },
        "citation_url": {
          "title": "Citation Url",
          "type": "string"
        },
        "transcription_sha256": {
          "title": "Transcription Sha256",
          "type": "string"
        },
        "passage_sha256": {
          "title": "Passage Sha256",
          "type": "string"
        },
        "verification": {
          "title": "Verification",
          "type": "string"
        },
        "lexical_rank": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Lexical Rank"
        }
      },
      "required": [
        "passage_id",
        "source_id",
        "work_id",
        "title",
        "edition",
        "locator",
        "passage",
        "citation_url",
        "transcription_sha256",
        "passage_sha256",
        "verification",
        "lexical_rank"
      ],
      "title": "Evidence",
      "type": "object"
    }
  },
  "title": "EvidenceResult"
}
🟢inspect_source(source_id)

Inspect one public source ID returned by search: work, edition, translator, public catalog, transcription fingerprint and complete indexed locator inventory. Cannot inspect private or arbitrary sources.

Input Schema

{
  "type": "object",
  "properties": {
    "source_id": {
      "maxLength": 50,
      "minLength": 1,
      "pattern": "^public-pg-[0-9]+$",
      "title": "Source Id",
      "type": "string"
    }
  },
  "required": [
    "source_id"
  ],
  "title": "inspect_sourceArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "title": "Status",
      "type": "string"
    },
    "notice": {
      "default": "Public reference library. Lexical retrieval only. Source identity checks do not prove truth. This eBook is for the use of anyone anywhere in the United States and most other parts of the world at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.org. If you are not located in the United States, you'll have to check the laws of the country where you are located before using this ebook. Full license: https://www.gutenberg.org/policy/license.html",
      "title": "Notice",
      "type": "string"
    },
    "source": {
      "anyOf": [
        {
          "$ref": "#/$defs/SourceInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "reason": {
      "title": "Reason",
      "type": "string"
    },
    "error_code": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error Code"
    }
  },
  "required": [
    "status",
    "reason"
  ],
  "$defs": {
    "SourceInfo": {
      "properties": {
        "source_id": {
          "title": "Source Id",
          "type": "string"
        },
        "work_id": {
          "title": "Work Id",
          "type": "string"
        },
        "title": {
          "title": "Title",
          "type": "string"
        },
        "authors": {
          "items": {
            "type": "string"
          },
          "title": "Authors",
          "type": "array"
        },
        "edition": {
          "title": "Edition",
          "type": "string"
        },
        "translators": {
          "items": {
            "type": "string"
          },
          "title": "Translators",
          "type": "array"
        },
        "catalog_url": {
          "title": "Catalog Url",
          "type": "string"
        },
        "catalog_id": {
          "title": "Catalog Id",
          "type": "string"
        },
        "provider": {
          "title": "Provider",
          "type": "string"
        },
        "original_sha256": {
          "title": "Original Sha256",
          "type": "string"
        },
        "rights": {
          "title": "Rights",
          "type": "string"
        },
        "coverage": {
          "title": "Coverage",
          "type": "string"
        },
        "locators": {
          "items": {
            "type": "string"
          },
          "title": "Locators",
          "type": "array"
        },
        "verification": {
          "title": "Verification",
          "type": "string"
        }
      },
      "required": [
        "source_id",
        "work_id",
        "title",
        "authors",
        "edition",
        "translators",
        "catalog_url",
        "catalog_id",
        "provider",
        "original_sha256",
        "rights",
        "coverage",
        "locators",
        "verification"
      ],
      "title": "SourceInfo",
      "type": "object"
    }
  },
  "title": "SourceResult"
}
🟢explain_evidence(question, source_ids)

Recompute evidence selection for a question and explain Strong, Limited or Insufficient heuristic coverage. Edition duplicates cannot inflate independent support. This explains selection, not factual correctness.

Input Schema

{
  "type": "object",
  "properties": {
    "question": {
      "maxLength": 600,
      "minLength": 3,
      "title": "Question",
      "type": "string"
    },
    "source_ids": {
      "default": [],
      "items": {
        "maxLength": 50,
        "minLength": 1,
        "pattern": "^public-pg-[0-9]+$",
        "type": "string"
      },
      "maxItems": 4,
      "title": "Source Ids",
      "type": "array"
    }
  },
  "required": [
    "question"
  ],
  "title": "explain_evidenceArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "title": "Status",
      "type": "string"
    },
    "notice": {
      "default": "Public reference library. Lexical retrieval only. Source identity checks do not prove truth. This eBook is for the use of anyone anywhere in the United States and most other parts of the world at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.org. If you are not located in the United States, you'll have to check the laws of the country where you are located before using this ebook. Full license: https://www.gutenberg.org/policy/license.html",
      "title": "Notice",
      "type": "string"
    },
    "coverage": {
      "title": "Coverage",
      "type": "string"
    },
    "reason": {
      "title": "Reason",
      "type": "string"
    },
    "independent_works": {
      "title": "Independent Works",
      "type": "integer"
    },
    "evidence_ids": {
      "items": {
        "type": "integer"
      },
      "title": "Evidence Ids",
      "type": "array"
    },
    "selection_basis": {
      "title": "Selection Basis",
      "type": "string"
    },
    "limitations": {
      "items": {
        "type": "string"
      },
      "title": "Limitations",
      "type": "array"
    },
    "error_code": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error Code"
    }
  },
  "required": [
    "status",
    "coverage",
    "reason",
    "independent_works",
    "evidence_ids",
    "selection_basis",
    "limitations"
  ],
  "title": "Explanation"
}
🟢find_evidence_gaps(question, source_ids)

Identify corpus limitations and kinds of evidence needed for an unsupported question. No web search, acquisition, factual answer generation or personalized advice; suggestions are gaps, never retrieved evidence.

Input Schema

{
  "type": "object",
  "properties": {
    "question": {
      "maxLength": 600,
      "minLength": 3,
      "title": "Question",
      "type": "string"
    },
    "source_ids": {
      "default": [],
      "items": {
        "maxLength": 50,
        "minLength": 1,
        "pattern": "^public-pg-[0-9]+$",
        "type": "string"
      },
      "maxItems": 4,
      "title": "Source Ids",
      "type": "array"
    }
  },
  "required": [
    "question"
  ],
  "title": "find_evidence_gapsArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "status": {
      "title": "Status",
      "type": "string"
    },
    "notice": {
      "default": "Public reference library. Lexical retrieval only. Source identity checks do not prove truth. This eBook is for the use of anyone anywhere in the United States and most other parts of the world at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.org. If you are not located in the United States, you'll have to check the laws of the country where you are located before using this ebook. Full license: https://www.gutenberg.org/policy/license.html",
      "title": "Notice",
      "type": "string"
    },
    "coverage": {
      "title": "Coverage",
      "type": "string"
    },
    "reason": {
      "title": "Reason",
      "type": "string"
    },
    "missing_evidence": {
      "items": {
        "type": "string"
      },
      "title": "Missing Evidence",
      "type": "array"
    },
    "available_source_ids": {
      "items": {
        "type": "string"
      },
      "title": "Available Source Ids",
      "type": "array"
    },
    "error_code": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error Code"
    }
  },
  "required": [
    "status",
    "coverage",
    "reason",
    "missing_evidence",
    "available_source_ids"
  ],
  "title": "Gaps"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools