mcpscraper-memory-sdk (Python)
Official Python clients for the unified 367-tool mcpscraper.dev MCP catalog. The direct 146-tool Memory manifest remains checked for runtime compatibility.
This is a thin JSON-RPC client generated against ../../contracts/memory.tools.json, the public contract for the hosted API. It contains no product source — only typed request/response plumbing.
Install
pip install mcpscraper-memory-sdk
Usage
import os
from mcpscraper_memory import MemoryClient, MemoryApiError
client = MemoryClient(api_key=os.environ["MCP_SCRAPER_API_KEY"])
try:
result = client.memory.search(query="competitor pricing pages")
for hit in result.results or []:
print(hit["source"], hit["score"])
except MemoryApiError as err:
print(f"memory call failed: {err}")
Namespaces
client.access, client.capture, client.channels, client.crm, client.facts, client.files, client.graph, client.library, client.memory, client.recall, client.research, client.schedule, client.storage, client.tables, client.tags, client.vaults, client.video, client.webhooks — one method per tool, snake_case, typed with generated Pydantic models. Use Research for sourced knowledge and CRM for an actual relationship; counterpart operations link records without copying fields. External CRM providers remain unavailable, with no setup or write wrapper. Original Gmail attachment bytes saved to Memory are available through client.files.file_asset_save(...) and client.files.file_asset_get(...).
Use the same key with McpToolsClient for all 367 unified scraper and Memory tools.
Use client.call_tool_result(name, args) for native MCP image, audio, or resource blocks. The existing call_tool method keeps returning the parsed structured/text value.
The unified MCP client accepts pages=2 on
client.other.harvest_paa_start(...). It keeps one page as the default, adds
page-two organic results when available, and expands PAA only on the preserved
first page. Poll the same job with harvest_paa_status; pagination remains
nullable for results saved under older contracts.
Authentication
Set MCP_SCRAPER_API_KEY once. MemoryClient, McpToolsClient, and the scraper SDK all use that
same customer credential against https://mcpscraper.dev/mcp.
Regenerating models
src/mcpscraper_memory/models/ and _generated_client.py are generated from ../../contracts/memory.tools.json. After editing the manifest, regenerate with:
python scripts/generate_models.py
See also
Repo README (multi-language examples with real sample output) · mcpscraper-memory-sdk on npm (Node) · mcpscraper-sdk on PyPI (also reaches these 146 tools via a scraper key) · mcpscraper-cli
Release changes: SDK 0.53.1 release notes.
Client attribution and full results
Clients accept client_attribution={"install_channel": ..., "ai_client": ..., "ai_model": ...} and default to calling surface sdk. Set only known caller labels; unspecified labels stay unknown. on_response receives a metadata dictionary with request_id and status per response, and errors keep their own request_id. These options also apply to McpToolsClient and MemoryClient; labels are reporting declarations, not authorization.
Generated output unions return the matching model directly, preserving attributes such as transcript_text. Use pydantic.TypeAdapter(Output) when independently validating an output union. Large outputs may have delivery, scope and recovery instead of inline data. Preserve them, then use tools.artifacts.describe, read_retained (follow next_offset to None), or download with the artifact ID. The legacy artifacts.read method remains the report reader. call_tool_result preserves native content/resource links. Download URL expiry differs from retention; renew through download without rerunning acquisition. Use the returned capability for binary files.
Metadata
Release files for mcpscraper-memory-sdk 0.48.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mcpscraper_memory_sdk-0.48.1.tar.gz | 327.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcpscraper_memory_sdk-0.48.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / mcpscraper_memory_sdk-0.48.1.tar.gz
| Download URL | mcpscraper_memory_sdk-0.48.1.tar.gz |
|---|---|
| Size | 327.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9cd1f167be51ab66390cf84bdddc602f5f675489de2bcff79337f8c31ec1f769
|
|
BLAKE2b-256 checksum How to use checksums |
52fb472516ff080af4a36c0d66fa8e8c0f5a95af2023f71375b8a954591f38da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / mcpscraper_memory_sdk-0.48.1-py3-none-any.whl
| Download URL | mcpscraper_memory_sdk-0.48.1-py3-none-any.whl |
|---|---|
| Size | 923.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
50e3af748eb5e8d6c937f1a40b3f770cbb4dea0ca40c6581c625a11d7544fff9
|
|
BLAKE2b-256 checksum How to use checksums |
665ba46f8d364a9a303862cf8bf70e75be64f74c548ffba34b09c7327d4e19b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for mcpscraper-memory-sdk 0.48.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.