panda-federation-tools 1.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- panda_federation_tools-1.2.0/.gitignore +24 -0
- panda_federation_tools-1.2.0/CHANGELOG.md +57 -0
- panda_federation_tools-1.2.0/LICENSE +21 -0
- panda_federation_tools-1.2.0/PKG-INFO +264 -0
- panda_federation_tools-1.2.0/README.md +228 -0
- panda_federation_tools-1.2.0/pyproject.toml +89 -0
- panda_federation_tools-1.2.0/scripts/build_catalog.py +148 -0
- panda_federation_tools-1.2.0/scripts/build_mcpb.sh +14 -0
- panda_federation_tools-1.2.0/scripts/install.ps1 +26 -0
- panda_federation_tools-1.2.0/scripts/install.sh +32 -0
- panda_federation_tools-1.2.0/server.json +22 -0
- panda_federation_tools-1.2.0/src/panda_federation_tools/__init__.py +3 -0
- panda_federation_tools-1.2.0/src/panda_federation_tools/__main__.py +4 -0
- panda_federation_tools-1.2.0/src/panda_federation_tools/apify.py +135 -0
- panda_federation_tools-1.2.0/src/panda_federation_tools/catalog.json +2091 -0
- panda_federation_tools-1.2.0/src/panda_federation_tools/catalog.py +125 -0
- panda_federation_tools-1.2.0/src/panda_federation_tools/config.py +48 -0
- panda_federation_tools-1.2.0/src/panda_federation_tools/py.typed +0 -0
- panda_federation_tools-1.2.0/src/panda_federation_tools/server.py +196 -0
- panda_federation_tools-1.2.0/tests/conftest.py +15 -0
- panda_federation_tools-1.2.0/tests/test_apify.py +153 -0
- panda_federation_tools-1.2.0/tests/test_catalog.py +96 -0
- panda_federation_tools-1.2.0/tests/test_server.py +179 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*.egg-info/
|
|
5
|
+
.venv/
|
|
6
|
+
build/
|
|
7
|
+
dist/
|
|
8
|
+
.pytest_cache/
|
|
9
|
+
.mypy_cache/
|
|
10
|
+
.ruff_cache/
|
|
11
|
+
.coverage
|
|
12
|
+
htmlcov/
|
|
13
|
+
requirements-audit.txt
|
|
14
|
+
|
|
15
|
+
# Secrets: never commit tokens
|
|
16
|
+
.env
|
|
17
|
+
.env.*
|
|
18
|
+
*.pem
|
|
19
|
+
*.key
|
|
20
|
+
|
|
21
|
+
# Editors / OS
|
|
22
|
+
.vscode/
|
|
23
|
+
.idea/
|
|
24
|
+
.DS_Store
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project are documented here. The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and versions follow [Semantic Versioning](https://semver.org/).
|
|
4
|
+
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
## [1.2.0] - 2026-11-04
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- Claude Desktop extension (`.mcpb`) attached to every Release: double-click to install, with a secure token prompt.
|
|
11
|
+
- One-click "Add to Cursor" button, and `install.sh` / `install.ps1` helpers.
|
|
12
|
+
- Release workflow: on a version tag CI tests, builds the wheel, sdist and `.mcpb`, writes `SHA256SUMS.txt` and creates the GitHub Release. PyPI publishing via Trusted Publishing (no stored token).
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
- README now leads with Install / Use; developer docs moved to "For developers".
|
|
16
|
+
|
|
17
|
+
## [1.1.1] - 2026-11-03
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- `run_max_items` now also sets each Actor's own result limit (for example `maxResults`, `maxDomains`, `maxReferences`) when you leave it unset, so a small `run_max_items` means a small bill and not just a shorter reply. Apify's `maxItems` is not enforced for pay-per-event Actors, which is how these tools are priced. The returned dataset is also limited to `run_max_items`.
|
|
21
|
+
- Docs and server instructions now name the per-row summary field correctly (`summary` on the research tools, `agentSummary` on the lead, audit and monitoring tools).
|
|
22
|
+
|
|
23
|
+
## [1.1.0] - 2026-11-03
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
- MCP progress notifications every few seconds while an Actor runs, so clients with request timeouts keep waiting on long runs.
|
|
27
|
+
- `Dockerfile` (non-root, stdio) with a CI job that builds and smoke-tests it, and `glama.json` for the Glama MCP directory.
|
|
28
|
+
- `py.typed` marker, fuller PyPI classifiers and keywords, Documentation and Source URLs.
|
|
29
|
+
- Issue templates, a pull request template, and Dependabot for the Docker base image.
|
|
30
|
+
- 16 more tests (46 total): retry safety, connection failures, non-JSON replies, progress, output trimming, run-option defaults, bad environment values, `--version`, and checks that README and `llms-full.txt` prices and install tags match the live catalog.
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
- Retries are now limited to cases where Apify never started a run (HTTP 429 or a failed connection). 5xx replies and dropped connections are no longer retried, so a retry can never start a second, double-charged run.
|
|
34
|
+
- Large results are trimmed to whole items so the text sent to the model is always valid JSON (with a `truncated` note); every item stays in `structuredContent`.
|
|
35
|
+
- Clearer timeout message (runs that hit `run_timeout_secs` are stopped; partial results stay in the run's dataset).
|
|
36
|
+
- Invalid `PANDA_*` environment values now fall back to the defaults with a warning instead of stopping the server.
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
- `llms-full.txt` now lists all three PDF Table Extractor prices; Apify security contact link in `SECURITY.md`.
|
|
40
|
+
|
|
41
|
+
## [1.0.0] - 2026-11-03
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
- Open-source MCP server (`panda-federation-tools`, Python, stdio) exposing 18 public Panda Federation Apify Actors as tools, with input schemas generated from each Actor's published input schema.
|
|
45
|
+
- Strict input validation, per-call spending cap, item cap and timeout, one retry on transient Apify errors, and token redaction in every error.
|
|
46
|
+
- `scripts/build_catalog.py` to regenerate the tool catalog from the Apify Store.
|
|
47
|
+
- Offline test suite, GitHub Actions CI (ruff, mypy, pytest on Python 3.11–3.13, pip-audit, package build), CodeQL and Dependabot.
|
|
48
|
+
- `SECURITY.md`, `CONTRIBUTING.md`, this changelog, client setup for Claude Desktop, Claude Code, Cursor and VS Code, and an M8ven trust badge.
|
|
49
|
+
|
|
50
|
+
### Earlier
|
|
51
|
+
- Tool index (`README.md`, `llms.txt`, `llms-full.txt`), MIT license and `server.json` for the hosted Academic Research MCP Server (`io.github.pandadad0214/panda-research-mcp`, version 1.0.0) in the official MCP Registry.
|
|
52
|
+
|
|
53
|
+
[Unreleased]: https://github.com/pandadad0214/panda-federation-tools/compare/v1.2.0...HEAD
|
|
54
|
+
[1.2.0]: https://github.com/pandadad0214/panda-federation-tools/compare/v1.1.1...v1.2.0
|
|
55
|
+
[1.1.1]: https://github.com/pandadad0214/panda-federation-tools/compare/v1.1.0...v1.1.1
|
|
56
|
+
[1.1.0]: https://github.com/pandadad0214/panda-federation-tools/compare/v1.0.0...v1.1.0
|
|
57
|
+
[1.0.0]: https://github.com/pandadad0214/panda-federation-tools/releases/tag/v1.0.0
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Panda Federation
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: panda-federation-tools
|
|
3
|
+
Version: 1.2.0
|
|
4
|
+
Summary: MCP server for the Panda Federation research and public-data tools on Apify (citations, literature, grants, contracts, leads, audits).
|
|
5
|
+
Project-URL: Homepage, https://github.com/pandadad0214/panda-federation-tools
|
|
6
|
+
Project-URL: Issues, https://github.com/pandadad0214/panda-federation-tools/issues
|
|
7
|
+
Project-URL: Documentation, https://github.com/pandadad0214/panda-federation-tools#readme
|
|
8
|
+
Project-URL: Source, https://github.com/pandadad0214/panda-federation-tools
|
|
9
|
+
Project-URL: Apify Store, https://apify.com/pandadad0214
|
|
10
|
+
Project-URL: Changelog, https://github.com/pandadad0214/panda-federation-tools/blob/main/CHANGELOG.md
|
|
11
|
+
Author: Panda Federation (pandadad0214)
|
|
12
|
+
License-Expression: MIT
|
|
13
|
+
License-File: LICENSE
|
|
14
|
+
Keywords: ai-agents,apify,b2b-data,citations,claude,cursor,email-security,grants,lead-generation,llm-tools,mcp,mcp-server,model-context-protocol,openalex,pubmed,reference-checker,seo
|
|
15
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
16
|
+
Classifier: Environment :: Console
|
|
17
|
+
Classifier: Intended Audience :: Developers
|
|
18
|
+
Classifier: Intended Audience :: Information Technology
|
|
19
|
+
Classifier: Intended Audience :: Science/Research
|
|
20
|
+
Classifier: Operating System :: OS Independent
|
|
21
|
+
Classifier: Programming Language :: Python :: 3
|
|
22
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
26
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search
|
|
27
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
28
|
+
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
29
|
+
Classifier: Typing :: Typed
|
|
30
|
+
Requires-Python: >=3.11
|
|
31
|
+
Requires-Dist: anyio==4.16.0
|
|
32
|
+
Requires-Dist: httpx2==2.16.0
|
|
33
|
+
Requires-Dist: jsonschema==4.26.0
|
|
34
|
+
Requires-Dist: mcp==2.3.0
|
|
35
|
+
Description-Content-Type: text/markdown
|
|
36
|
+
|
|
37
|
+
# Panda Federation Tools
|
|
38
|
+
|
|
39
|
+
**One MCP server that gives Claude, Cursor, VS Code Copilot and other AI assistants 18 research and public-data tools: citation checks, literature search, grants, contracts, leads and domain audits.**
|
|
40
|
+
|
|
41
|
+
[](https://github.com/pandadad0214/panda-federation-tools/releases/latest)
|
|
42
|
+
[](https://m8ven.ai/mcp/pandadad0214-panda-federation-tools-ta5xv3?s=readme)
|
|
43
|
+
[](https://github.com/pandadad0214/panda-federation-tools/actions/workflows/ci.yml)
|
|
44
|
+
[](https://github.com/pandadad0214/panda-federation-tools/actions/workflows/codeql.yml)
|
|
45
|
+
[](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.pandadad0214)
|
|
46
|
+
[](https://apify.com/pandadad0214)
|
|
47
|
+
[](pyproject.toml)
|
|
48
|
+
[](LICENSE)
|
|
49
|
+
|
|
50
|
+
**[⬇ Download the latest Release](https://github.com/pandadad0214/panda-federation-tools/releases/latest)** · [Changelog](CHANGELOG.md)
|
|
51
|
+
|
|
52
|
+
## Install / Use
|
|
53
|
+
|
|
54
|
+
**You need:** a free [Apify API token](https://console.apify.com/settings/integrations) (the free plan includes $5/month) and [uv](https://docs.astral.sh/uv/getting-started/installation/) (one command: `curl -LsSf https://astral.sh/uv/install.sh | sh`, or on Windows `powershell -c "irm https://astral.sh/uv/install.ps1 | iex"`).
|
|
55
|
+
|
|
56
|
+
**One command (works today):**
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
uvx --from git+https://github.com/pandadad0214/panda-federation-tools@v1.2.0 panda-federation-tools
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
No clone needed. Replace `apify_api_YOUR_TOKEN` below with your token, and never commit a file that contains it.
|
|
63
|
+
|
|
64
|
+
**No install at all?** Use the hosted research server (4 research tools) at `https://pandadad0214--panda-research-mcp.apify.actor/mcp` with header `Authorization: Bearer <your Apify token>`. See [Hosted options](#hosted-options-no-install).
|
|
65
|
+
|
|
66
|
+
### Cursor
|
|
67
|
+
[](cursor://anysphere.cursor-deeplink/mcp/install?name=panda-federation-tools&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyItLWZyb20iLCJnaXQraHR0cHM6Ly9naXRodWIuY29tL3BhbmRhZGFkMDIxNC9wYW5kYS1mZWRlcmF0aW9uLXRvb2xzQHYxLjIuMCIsInBhbmRhLWZlZGVyYXRpb24tdG9vbHMiXSwiZW52Ijp7IkFQSUZZX1RPS0VOIjoiYXBpZnlfYXBpX1lPVVJfVE9LRU4ifX0=)
|
|
68
|
+
|
|
69
|
+
Click the button, then paste your token into `APIFY_TOKEN`. Or add this to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (one project):
|
|
70
|
+
|
|
71
|
+
```json
|
|
72
|
+
{
|
|
73
|
+
"mcpServers": {
|
|
74
|
+
"panda-federation-tools": {
|
|
75
|
+
"command": "uvx",
|
|
76
|
+
"args": ["--from", "git+https://github.com/pandadad0214/panda-federation-tools@v1.2.0", "panda-federation-tools"],
|
|
77
|
+
"env": { "APIFY_TOKEN": "apify_api_YOUR_TOKEN" }
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Claude Desktop
|
|
84
|
+
Or: Settings → Developer → Edit Config, then add the same `mcpServers` block as Cursor to `claude_desktop_config.json` and restart Claude.
|
|
85
|
+
**Easiest:** download `panda-federation-tools-1.2.0.mcpb` from the [latest Release](https://github.com/pandadad0214/panda-federation-tools/releases/latest) and double-click it. Claude asks for your Apify token and keeps it in your system keychain.
|
|
86
|
+
|
|
87
|
+
### Claude Code
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
claude mcp add panda-federation-tools --env APIFY_TOKEN=apify_api_YOUR_TOKEN -- \
|
|
91
|
+
uvx --from git+https://github.com/pandadad0214/panda-federation-tools@v1.2.0 panda-federation-tools
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### VS Code (GitHub Copilot agent mode)
|
|
95
|
+
Add to `.vscode/mcp.json`. VS Code asks for the token and stores it securely:
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"inputs": [
|
|
100
|
+
{ "type": "promptString", "id": "apify-token", "description": "Apify API token", "password": true }
|
|
101
|
+
],
|
|
102
|
+
"servers": {
|
|
103
|
+
"panda-federation-tools": {
|
|
104
|
+
"type": "stdio",
|
|
105
|
+
"command": "uvx",
|
|
106
|
+
"args": ["--from", "git+https://github.com/pandadad0214/panda-federation-tools@v1.2.0", "panda-federation-tools"],
|
|
107
|
+
"env": { "APIFY_TOKEN": "${input:apify-token}" }
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Windsurf, Cline, Zed, Goose and others
|
|
114
|
+
Command `uvx`, args `--from git+https://github.com/pandadad0214/panda-federation-tools@v1.2.0 panda-federation-tools`, env `APIFY_TOKEN`. For Cline also set `"timeout": 60`. Agent-readable steps: [`llms-install.md`](llms-install.md).
|
|
115
|
+
|
|
116
|
+
### Other ways to install
|
|
117
|
+
- **From the Release download (works today):** `uvx --from https://github.com/pandadad0214/panda-federation-tools/releases/download/v1.2.0/panda_federation_tools-1.2.0-py3-none-any.whl panda-federation-tools`
|
|
118
|
+
- **Helper script:** download `install.sh` (macOS/Linux) or `install.ps1` (Windows) from the latest Release. It installs uv if needed, checks the server starts and prints your config. One package works on every OS.
|
|
119
|
+
- **pip:** `pip install "git+https://github.com/pandadad0214/panda-federation-tools@v1.2.0"`, then run `panda-federation-tools`.
|
|
120
|
+
- **Docker:** `docker build -t panda-federation-tools https://github.com/pandadad0214/panda-federation-tools.git#v1.2.0` then `docker run -i --rm -e APIFY_TOKEN panda-federation-tools`.
|
|
121
|
+
- *After PyPI publish (planned):* `uvx panda-federation-tools`. This becomes the one command once the package is on PyPI.
|
|
122
|
+
|
|
123
|
+
## What's included
|
|
124
|
+
|
|
125
|
+
- **Official, free data sources only:** Crossref, OpenAlex, PubMed, Unpaywall, Grants.gov, NIH, NSF, USAspending, NPI Registry, FMCSA, public DNS, Apple Podcasts, OpenStreetMap, Wikimedia, public job-board feeds and companies' own websites. No logins, no paywalls, no LinkedIn scraping.
|
|
126
|
+
- **Pay per result, capped:** a few tenths of a cent per result; runs that find nothing are not charged per result; every MCP call has a hard USD spending cap.
|
|
127
|
+
- **Agent-friendly output:** JSON with a one-line `summary` or `agentSummary` per row and **OK / CHECK / FIX** status where it applies.
|
|
128
|
+
- **Your token stays yours:** the server runs on your machine and sends your `APIFY_TOKEN` only to `api.apify.com`, in a header. It is never logged or returned.
|
|
129
|
+
|
|
130
|
+
### Tools
|
|
131
|
+
|
|
132
|
+
Each MCP tool runs one public Apify Actor and returns its results. Input fields, limits and defaults come from the Actor's own input schema and are validated before anything runs, so a bad input never costs money.
|
|
133
|
+
|
|
134
|
+
| MCP tool | Apify Actor | What it does | Price (Apify free plan) |
|
|
135
|
+
|---|---|---|---|
|
|
136
|
+
| `reference_checker` | [reference-checker](https://apify.com/pandadad0214/reference-checker) | Finds fake, AI-hallucinated, mismatched and retracted citations | $0.01 / reference |
|
|
137
|
+
| `citation_formatter` | [citation-formatter](https://apify.com/pandadad0214/citation-formatter) | DOI, PMID, arXiv, ISBN or messy text → APA, MLA, Chicago, Harvard, IEEE, Vancouver, BibTeX, RIS | $0.003 / citation |
|
|
138
|
+
| `literature_search` | [literature-search](https://apify.com/pandadad0214/literature-search) | Real papers from 250M+ OpenAlex works, with citations, free PDFs and BibTeX | $0.003 / paper |
|
|
139
|
+
| `pubmed_evidence_table` | [pubmed-evidence-table](https://apify.com/pandadad0214/pubmed-evidence-table) | PubMed → evidence table (study design, sample size, retractions, PRISMA counts) | $0.004 / article |
|
|
140
|
+
| `grants_finder` | [grants-finder](https://apify.com/pandadad0214/grants-finder) | Grants.gov opportunities plus NIH and NSF awards in one table | $0.003 / grant |
|
|
141
|
+
| `researcher_expert_finder` | [researcher-expert-finder](https://apify.com/pandadad0214/researcher-expert-finder) | Ranked academic experts and KOLs for a topic, with ORCID and h-index | $0.0025 / expert |
|
|
142
|
+
| `pdf_table_extractor` | [pdf-table-extractor](https://apify.com/pandadad0214/pdf-table-extractor) | Every table in a PDF → rows, Excel and CSV, with OCR for scanned pages | $0.001 / page; $0.003 / table; $0.02 / OCR page |
|
|
143
|
+
| `npi_provider_lists` | [npi-provider-lists](https://apify.com/pandadad0214/npi-provider-lists) | De-duplicated US healthcare provider lists from the official NPI Registry | $0.0015 / provider |
|
|
144
|
+
| `federal_contract_finder` | [federal-contract-finder](https://apify.com/pandadad0214/federal-contract-finder) | USAspending contract awards, incumbents and recompete leads | $0.002 / contract |
|
|
145
|
+
| `email_domain_security_checker` | [email-domain-security-checker](https://apify.com/pandadad0214/email-domain-security-checker) | SPF, DKIM, DMARC, MTA-STS and BIMI audit with an A–F grade and fix list | $0.002 / domain |
|
|
146
|
+
| `ai_search_seo_audit` | [ai-search-seo-audit](https://apify.com/pandadad0214/ai-search-seo-audit) | SEO and AI-search (GEO) readiness per page, AI crawler access, llms.txt draft | $0.004 / page |
|
|
147
|
+
| `podcast_leads_finder` | [podcast-leads-finder](https://apify.com/pandadad0214/podcast-leads-finder) | Active podcasts by topic with host, published contact email and guest flag | $0.004 / podcast |
|
|
148
|
+
| `local_business_leads` | [local-business-leads](https://apify.com/pandadad0214/local-business-leads) | Local businesses by category and city from OpenStreetMap (Google Maps alternative) | $0.001 / business |
|
|
149
|
+
| `company_hiring_signals` | [company-hiring-signals](https://apify.com/pandadad0214/company-hiring-signals) | Open and new jobs, leadership roles and a hiring score from public ATS boards | $0.003 / company |
|
|
150
|
+
| `company_website_enricher` | [company-website-enricher](https://apify.com/pandadad0214/company-website-enricher) | Domains → name, description, published contacts, socials, tech stack, mail provider | $0.003 / domain |
|
|
151
|
+
| `topic_trends_tracker` | [topic-trends-tracker](https://apify.com/pandadad0214/topic-trends-tracker) | Wikipedia pageview trends with 30-day and YoY change (Google Trends alternative) | $0.002 / topic |
|
|
152
|
+
| `company_team_finder` | [company-team-finder](https://apify.com/pandadad0214/company-team-finder) | Leaders and decision makers from companies' own team pages (no LinkedIn scraping) | $0.002 / person |
|
|
153
|
+
| `trucking_company_leads` | [trucking-company-leads](https://apify.com/pandadad0214/trucking-company-leads) | New and existing US carriers and brokers from official FMCSA data | $0.002 / carrier |
|
|
154
|
+
|
|
155
|
+
Every tool also accepts three optional run controls: `run_max_items` (results to return, default 50), `run_max_charge_usd` (spending cap for the call, default $0.50) and `run_timeout_secs` (default 120, max 300). While a run is in progress the server sends MCP progress notifications every few seconds, so clients that support them do not time out. Most tools answer in 5–15 seconds for a few inputs; `local_business_leads` and big crawls can take a minute or more, so give them `run_timeout_secs: 300`.
|
|
156
|
+
|
|
157
|
+
Also on Apify: the hosted [Academic Research MCP Server](https://apify.com/pandadad0214/panda-research-mcp) ($0.01–$0.02 per call) and [Website Change Monitor](https://apify.com/pandadad0214/website-change-monitor) (publishing soon; it joins this server once it is public).
|
|
158
|
+
|
|
159
|
+
Free for everyone: the [Hidden AI Instructions Scanner](https://apify.com/pandadad0214/hidden-ai-instructions-scanner) (publishing soon) checks web pages for hidden prompt injection aimed at AI agents, and [Hidden AI Instructions Watch](https://github.com/pandadad0214/hidden-ai-instructions-watch) is our public, evidence-only log of what it finds.
|
|
160
|
+
|
|
161
|
+
### Example prompts
|
|
162
|
+
- "Check these 12 references for fake or retracted papers and tell me which to fix."
|
|
163
|
+
- "Find 20 recent peer-reviewed papers on GLP-1 and heart failure with free PDFs, then format them in APA."
|
|
164
|
+
- "Which of these 30 SaaS companies are hiring sales leaders right now? Then find their VP-level contacts."
|
|
165
|
+
- "Audit the email security of acme.com and its three competitors, and list the fixes."
|
|
166
|
+
- "List dentists in Phoenix, AZ with a website and phone number."
|
|
167
|
+
|
|
168
|
+
### Typical workflows
|
|
169
|
+
- **Writing a paper:** `literature_search` → `citation_formatter` → `reference_checker` before you submit.
|
|
170
|
+
- **Systematic review:** `pubmed_evidence_table` (evidence table + PRISMA counts) → `reference_checker`.
|
|
171
|
+
- **Funding:** `grants_finder` → `literature_search` on the topic.
|
|
172
|
+
- **Federal contracting:** `federal_contract_finder` (recompete radar + top incumbents) → `grants_finder`.
|
|
173
|
+
- **Account prioritization:** `company_hiring_signals` → `company_website_enricher` → `email_domain_security_checker`.
|
|
174
|
+
- **Outbound to decision makers:** `company_hiring_signals` → `company_team_finder` (names, titles, email pattern).
|
|
175
|
+
- **Local prospecting:** `local_business_leads` → `ai_search_seo_audit` on their websites.
|
|
176
|
+
- **Trucking and logistics sales:** `trucking_company_leads` → `company_website_enricher`.
|
|
177
|
+
- **Market research:** `topic_trends_tracker` → `literature_search` or `podcast_leads_finder` on rising topics.
|
|
178
|
+
|
|
179
|
+
## Pricing
|
|
180
|
+
|
|
181
|
+
- You pay Apify per result, at the prices above, from your own Apify account. Apify Bronze, Silver and Gold plans get 10–30% off.
|
|
182
|
+
- **Empty runs cost nothing per result.** Apify adds a tiny platform start fee (about $0.00005 per run).
|
|
183
|
+
- `run_max_items` (default 50) also sets the Actor's own result limit on 15 of the 18 tools, so you only pay for the results you asked for. On `grants_finder`, `pdf_table_extractor` and `company_team_finder` (whose limits count sources, pages or companies), set those fields directly; the charge cap still applies.
|
|
184
|
+
- Every MCP call is capped by `run_max_charge_usd` (default $0.50, set your own default with `PANDA_MAX_CHARGE_USD`). Apify stops the run when the cap is reached.
|
|
185
|
+
- The MCP server itself is free and open source (MIT).
|
|
186
|
+
|
|
187
|
+
## Configuration
|
|
188
|
+
|
|
189
|
+
| Variable | Required | Default | Meaning |
|
|
190
|
+
|---|---|---|---|
|
|
191
|
+
| `APIFY_TOKEN` | yes | none | Your Apify API token. Tools list without it; calls need it. |
|
|
192
|
+
| `PANDA_MAX_CHARGE_USD` | no | `0.50` | Default spending cap per call (0.01–25). |
|
|
193
|
+
| `PANDA_MAX_ITEMS` | no | `50` | Default max results per call (1–1000). |
|
|
194
|
+
| `PANDA_TIMEOUT_SECS` | no | `120` | Default seconds to wait per call (10–300). |
|
|
195
|
+
|
|
196
|
+
## Security and permissions
|
|
197
|
+
|
|
198
|
+
- **Runs locally over stdio.** It opens no ports and calls only `https://api.apify.com`.
|
|
199
|
+
- **Token handling:** read from the environment, sent only as an `Authorization: Bearer` header (never in a URL), redacted from every error message, and never logged or returned to the model.
|
|
200
|
+
- **Least privilege:** the token needs permission to run Actors. Apify supports [scoped API tokens](https://docs.apify.com/platform/integrations/api#api-tokens); a token limited to running these Actors is enough.
|
|
201
|
+
- **Read-only tools:** every tool only reads public data; none writes to your systems. Tools are marked `readOnlyHint: true`.
|
|
202
|
+
- **Validated inputs:** every call is checked against the Actor's JSON Schema (types, ranges, enums, no unknown fields) before it runs. Secret Actor inputs (such as optional third-party API keys) are deliberately not exposed to the model.
|
|
203
|
+
- **Bounded cost and time:** per-call spending cap, item cap and timeout. The server retries once only when Apify never started a run (rate limit or failed connection), so a retry can never charge you twice.
|
|
204
|
+
- **Context-safe output:** large results are trimmed to whole items (still valid JSON) for the model, with every item kept in `structuredContent`.
|
|
205
|
+
- **Supply chain:** pinned dependencies with a committed `uv.lock`, `pip-audit` and CodeQL in CI, Dependabot updates, and GitHub Actions pinned to commit SHAs.
|
|
206
|
+
- Found a vulnerability? See [SECURITY.md](SECURITY.md).
|
|
207
|
+
|
|
208
|
+
## Hosted options (no install)
|
|
209
|
+
|
|
210
|
+
- **Academic Research MCP Server (Streamable HTTP):** `https://pandadad0214--panda-research-mcp.apify.actor/mcp` with header `Authorization: Bearer <your Apify token>`. Four research tools (`check_references`, `format_citations`, `search_literature`, `pubmed_evidence_table`). This is the server listed in the official MCP Registry as `io.github.pandadad0214/panda-research-mcp` ([server.json](server.json)).
|
|
211
|
+
- **Apify's MCP server:** `https://mcp.apify.com` can call any of these Actors as `pandadad0214/<slug>`.
|
|
212
|
+
- **Plain HTTP API:**
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
curl -X POST "https://api.apify.com/v2/acts/pandadad0214~reference-checker/run-sync-get-dataset-items" \
|
|
216
|
+
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
|
|
217
|
+
-d '{"dois": ["10.1038/nature14539"]}'
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
## Agent skills (Agensi)
|
|
221
|
+
|
|
222
|
+
Ready-made skills that wrap these tools for AI agents are listed on the [Panda Federation Agensi profile](https://www.agensi.io/creators/panda_federation). Each skill runs the Apify tools above, so the usual pay-per-result prices apply on top of the skill price.
|
|
223
|
+
|
|
224
|
+
- [Medical Writing Pack: evidence tables, ref checks and KOLs](https://agensi.io/skills/medical-writing-pack-evidence-tables-ref-checks-kols) ($12)
|
|
225
|
+
- [RFP Compliance Matrix + Incumbent Intel](https://agensi.io/skills/rfp-compliance-matrix-incumbent-intel-federal-proposals) (free)
|
|
226
|
+
- [GEO & SEO Site Audit](https://agensi.io/skills/geo-seo-site-audit-real-crawl-0-100-score-0-004-page) ($4.99)
|
|
227
|
+
- [Email Deliverability Audit: SPF/DKIM/DMARC in bulk](https://agensi.io/skills/email-deliverability-audit-live-spf-dkim-dmarc-in-bulk) (free)
|
|
228
|
+
- [Citation Check: fake, miscited and retracted references](https://agensi.io/skills/citation-check-fake-miscited-retracted-references) (free)
|
|
229
|
+
|
|
230
|
+
## Hire a human (Fiverr)
|
|
231
|
+
Prefer a person to run the tools and hand you finished files? Panda Federation also sells these as Fiverr gigs (seller `pandafederation`). Professional use only, not for coursework.
|
|
232
|
+
|
|
233
|
+
| Gig | Use when | Price |
|
|
234
|
+
|---|---|---|
|
|
235
|
+
| [Reference verification](https://www.fiverr.com/pandafederation/verify-your-references-find-fake-citations-and-retracted-papers) | You want a person to check a whole reference list for fake, mismatched or retracted citations and get a color-coded PDF/Excel report. | from $15, 2-3 days |
|
|
236
|
+
| [Reference list formatting](https://www.fiverr.com/pandafederation/format-or-convert-your-reference-list-to-apa-mla-chicago-or-harvard) | You want a finished reference list formatted or converted to APA, MLA, Chicago, Harvard, IEEE or Vancouver, delivered as Word and PDF. | from $20, 2-3 days |
|
|
237
|
+
| [Web data to CSV/Excel](https://www.fiverr.com/pandafederation/scrape-website-data-into-a-clean-csv-or-excel-spreadsheet) | You want public business data from a website collected and cleaned into CSV or Excel (no logins, paywalls or personal contact data). | from $30, 3-5 days |
|
|
238
|
+
| [Scholarly source lists](https://www.fiverr.com/pandafederation/find-and-screen-scholarly-sources-for-your-topic-with-excel-bibtex-and-ris) | You want a screened list of scholarly sources on a topic, with retraction flags and Excel, BibTeX and RIS files (PubMed study table available as an add-on). | from $25, 2-5 days |
|
|
239
|
+
|
|
240
|
+
## For developers
|
|
241
|
+
|
|
242
|
+
### For AI agents and LLMs
|
|
243
|
+
- [`llms.txt`](llms.txt): short index of every tool and when to use it ([llms.txt convention](https://llmstxt.org)).
|
|
244
|
+
- [`llms-full.txt`](llms-full.txt): each tool's inputs, outputs and prices in one file.
|
|
245
|
+
- [`llms-install.md`](llms-install.md): step-by-step setup for AI coding agents such as Cline.
|
|
246
|
+
- Every result has a one-line summary field (`summary` on the citation, literature, PubMed, PDF, NPI and expert tools; `agentSummary` on the others), and every run saves a `SUMMARY` record with a `takeaway` and the suggested next tool.
|
|
247
|
+
- Start small (one or two inputs), read the summary line, then widen.
|
|
248
|
+
|
|
249
|
+
### Build, test and contribute
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
git clone https://github.com/pandadad0214/panda-federation-tools && cd panda-federation-tools
|
|
253
|
+
uv sync # installs pinned dependencies from uv.lock
|
|
254
|
+
uv run pytest # offline tests, no token or network needed
|
|
255
|
+
uv run ruff check . && uv run mypy
|
|
256
|
+
python scripts/build_catalog.py # refresh tool schemas and prices from the Apify Store
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
Layout: `src/panda_federation_tools/` (server, Apify client, bundled `catalog.json`), `tests/`, `scripts/build_catalog.py`, `Dockerfile`. See [CONTRIBUTING.md](CONTRIBUTING.md) and [CHANGELOG.md](CHANGELOG.md).
|
|
260
|
+
|
|
261
|
+
## Issues and requests
|
|
262
|
+
Open an [issue](https://github.com/pandadad0214/panda-federation-tools/issues) here or on any tool's Apify Issues tab. We answer within a day.
|
|
263
|
+
|
|
264
|
+
Built by Panda Federation with AI assistance. MIT licensed.
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
# Panda Federation Tools
|
|
2
|
+
|
|
3
|
+
**One MCP server that gives Claude, Cursor, VS Code Copilot and other AI assistants 18 research and public-data tools: citation checks, literature search, grants, contracts, leads and domain audits.**
|
|
4
|
+
|
|
5
|
+
[](https://github.com/pandadad0214/panda-federation-tools/releases/latest)
|
|
6
|
+
[](https://m8ven.ai/mcp/pandadad0214-panda-federation-tools-ta5xv3?s=readme)
|
|
7
|
+
[](https://github.com/pandadad0214/panda-federation-tools/actions/workflows/ci.yml)
|
|
8
|
+
[](https://github.com/pandadad0214/panda-federation-tools/actions/workflows/codeql.yml)
|
|
9
|
+
[](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.pandadad0214)
|
|
10
|
+
[](https://apify.com/pandadad0214)
|
|
11
|
+
[](pyproject.toml)
|
|
12
|
+
[](LICENSE)
|
|
13
|
+
|
|
14
|
+
**[⬇ Download the latest Release](https://github.com/pandadad0214/panda-federation-tools/releases/latest)** · [Changelog](CHANGELOG.md)
|
|
15
|
+
|
|
16
|
+
## Install / Use
|
|
17
|
+
|
|
18
|
+
**You need:** a free [Apify API token](https://console.apify.com/settings/integrations) (the free plan includes $5/month) and [uv](https://docs.astral.sh/uv/getting-started/installation/) (one command: `curl -LsSf https://astral.sh/uv/install.sh | sh`, or on Windows `powershell -c "irm https://astral.sh/uv/install.ps1 | iex"`).
|
|
19
|
+
|
|
20
|
+
**One command (works today):**
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
uvx --from git+https://github.com/pandadad0214/panda-federation-tools@v1.2.0 panda-federation-tools
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
No clone needed. Replace `apify_api_YOUR_TOKEN` below with your token, and never commit a file that contains it.
|
|
27
|
+
|
|
28
|
+
**No install at all?** Use the hosted research server (4 research tools) at `https://pandadad0214--panda-research-mcp.apify.actor/mcp` with header `Authorization: Bearer <your Apify token>`. See [Hosted options](#hosted-options-no-install).
|
|
29
|
+
|
|
30
|
+
### Cursor
|
|
31
|
+
[](cursor://anysphere.cursor-deeplink/mcp/install?name=panda-federation-tools&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyItLWZyb20iLCJnaXQraHR0cHM6Ly9naXRodWIuY29tL3BhbmRhZGFkMDIxNC9wYW5kYS1mZWRlcmF0aW9uLXRvb2xzQHYxLjIuMCIsInBhbmRhLWZlZGVyYXRpb24tdG9vbHMiXSwiZW52Ijp7IkFQSUZZX1RPS0VOIjoiYXBpZnlfYXBpX1lPVVJfVE9LRU4ifX0=)
|
|
32
|
+
|
|
33
|
+
Click the button, then paste your token into `APIFY_TOKEN`. Or add this to `~/.cursor/mcp.json` (all projects) or `.cursor/mcp.json` (one project):
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"mcpServers": {
|
|
38
|
+
"panda-federation-tools": {
|
|
39
|
+
"command": "uvx",
|
|
40
|
+
"args": ["--from", "git+https://github.com/pandadad0214/panda-federation-tools@v1.2.0", "panda-federation-tools"],
|
|
41
|
+
"env": { "APIFY_TOKEN": "apify_api_YOUR_TOKEN" }
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Claude Desktop
|
|
48
|
+
Or: Settings → Developer → Edit Config, then add the same `mcpServers` block as Cursor to `claude_desktop_config.json` and restart Claude.
|
|
49
|
+
**Easiest:** download `panda-federation-tools-1.2.0.mcpb` from the [latest Release](https://github.com/pandadad0214/panda-federation-tools/releases/latest) and double-click it. Claude asks for your Apify token and keeps it in your system keychain.
|
|
50
|
+
|
|
51
|
+
### Claude Code
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
claude mcp add panda-federation-tools --env APIFY_TOKEN=apify_api_YOUR_TOKEN -- \
|
|
55
|
+
uvx --from git+https://github.com/pandadad0214/panda-federation-tools@v1.2.0 panda-federation-tools
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### VS Code (GitHub Copilot agent mode)
|
|
59
|
+
Add to `.vscode/mcp.json`. VS Code asks for the token and stores it securely:
|
|
60
|
+
|
|
61
|
+
```json
|
|
62
|
+
{
|
|
63
|
+
"inputs": [
|
|
64
|
+
{ "type": "promptString", "id": "apify-token", "description": "Apify API token", "password": true }
|
|
65
|
+
],
|
|
66
|
+
"servers": {
|
|
67
|
+
"panda-federation-tools": {
|
|
68
|
+
"type": "stdio",
|
|
69
|
+
"command": "uvx",
|
|
70
|
+
"args": ["--from", "git+https://github.com/pandadad0214/panda-federation-tools@v1.2.0", "panda-federation-tools"],
|
|
71
|
+
"env": { "APIFY_TOKEN": "${input:apify-token}" }
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Windsurf, Cline, Zed, Goose and others
|
|
78
|
+
Command `uvx`, args `--from git+https://github.com/pandadad0214/panda-federation-tools@v1.2.0 panda-federation-tools`, env `APIFY_TOKEN`. For Cline also set `"timeout": 60`. Agent-readable steps: [`llms-install.md`](llms-install.md).
|
|
79
|
+
|
|
80
|
+
### Other ways to install
|
|
81
|
+
- **From the Release download (works today):** `uvx --from https://github.com/pandadad0214/panda-federation-tools/releases/download/v1.2.0/panda_federation_tools-1.2.0-py3-none-any.whl panda-federation-tools`
|
|
82
|
+
- **Helper script:** download `install.sh` (macOS/Linux) or `install.ps1` (Windows) from the latest Release. It installs uv if needed, checks the server starts and prints your config. One package works on every OS.
|
|
83
|
+
- **pip:** `pip install "git+https://github.com/pandadad0214/panda-federation-tools@v1.2.0"`, then run `panda-federation-tools`.
|
|
84
|
+
- **Docker:** `docker build -t panda-federation-tools https://github.com/pandadad0214/panda-federation-tools.git#v1.2.0` then `docker run -i --rm -e APIFY_TOKEN panda-federation-tools`.
|
|
85
|
+
- *After PyPI publish (planned):* `uvx panda-federation-tools`. This becomes the one command once the package is on PyPI.
|
|
86
|
+
|
|
87
|
+
## What's included
|
|
88
|
+
|
|
89
|
+
- **Official, free data sources only:** Crossref, OpenAlex, PubMed, Unpaywall, Grants.gov, NIH, NSF, USAspending, NPI Registry, FMCSA, public DNS, Apple Podcasts, OpenStreetMap, Wikimedia, public job-board feeds and companies' own websites. No logins, no paywalls, no LinkedIn scraping.
|
|
90
|
+
- **Pay per result, capped:** a few tenths of a cent per result; runs that find nothing are not charged per result; every MCP call has a hard USD spending cap.
|
|
91
|
+
- **Agent-friendly output:** JSON with a one-line `summary` or `agentSummary` per row and **OK / CHECK / FIX** status where it applies.
|
|
92
|
+
- **Your token stays yours:** the server runs on your machine and sends your `APIFY_TOKEN` only to `api.apify.com`, in a header. It is never logged or returned.
|
|
93
|
+
|
|
94
|
+
### Tools
|
|
95
|
+
|
|
96
|
+
Each MCP tool runs one public Apify Actor and returns its results. Input fields, limits and defaults come from the Actor's own input schema and are validated before anything runs, so a bad input never costs money.
|
|
97
|
+
|
|
98
|
+
| MCP tool | Apify Actor | What it does | Price (Apify free plan) |
|
|
99
|
+
|---|---|---|---|
|
|
100
|
+
| `reference_checker` | [reference-checker](https://apify.com/pandadad0214/reference-checker) | Finds fake, AI-hallucinated, mismatched and retracted citations | $0.01 / reference |
|
|
101
|
+
| `citation_formatter` | [citation-formatter](https://apify.com/pandadad0214/citation-formatter) | DOI, PMID, arXiv, ISBN or messy text → APA, MLA, Chicago, Harvard, IEEE, Vancouver, BibTeX, RIS | $0.003 / citation |
|
|
102
|
+
| `literature_search` | [literature-search](https://apify.com/pandadad0214/literature-search) | Real papers from 250M+ OpenAlex works, with citations, free PDFs and BibTeX | $0.003 / paper |
|
|
103
|
+
| `pubmed_evidence_table` | [pubmed-evidence-table](https://apify.com/pandadad0214/pubmed-evidence-table) | PubMed → evidence table (study design, sample size, retractions, PRISMA counts) | $0.004 / article |
|
|
104
|
+
| `grants_finder` | [grants-finder](https://apify.com/pandadad0214/grants-finder) | Grants.gov opportunities plus NIH and NSF awards in one table | $0.003 / grant |
|
|
105
|
+
| `researcher_expert_finder` | [researcher-expert-finder](https://apify.com/pandadad0214/researcher-expert-finder) | Ranked academic experts and KOLs for a topic, with ORCID and h-index | $0.0025 / expert |
|
|
106
|
+
| `pdf_table_extractor` | [pdf-table-extractor](https://apify.com/pandadad0214/pdf-table-extractor) | Every table in a PDF → rows, Excel and CSV, with OCR for scanned pages | $0.001 / page; $0.003 / table; $0.02 / OCR page |
|
|
107
|
+
| `npi_provider_lists` | [npi-provider-lists](https://apify.com/pandadad0214/npi-provider-lists) | De-duplicated US healthcare provider lists from the official NPI Registry | $0.0015 / provider |
|
|
108
|
+
| `federal_contract_finder` | [federal-contract-finder](https://apify.com/pandadad0214/federal-contract-finder) | USAspending contract awards, incumbents and recompete leads | $0.002 / contract |
|
|
109
|
+
| `email_domain_security_checker` | [email-domain-security-checker](https://apify.com/pandadad0214/email-domain-security-checker) | SPF, DKIM, DMARC, MTA-STS and BIMI audit with an A–F grade and fix list | $0.002 / domain |
|
|
110
|
+
| `ai_search_seo_audit` | [ai-search-seo-audit](https://apify.com/pandadad0214/ai-search-seo-audit) | SEO and AI-search (GEO) readiness per page, AI crawler access, llms.txt draft | $0.004 / page |
|
|
111
|
+
| `podcast_leads_finder` | [podcast-leads-finder](https://apify.com/pandadad0214/podcast-leads-finder) | Active podcasts by topic with host, published contact email and guest flag | $0.004 / podcast |
|
|
112
|
+
| `local_business_leads` | [local-business-leads](https://apify.com/pandadad0214/local-business-leads) | Local businesses by category and city from OpenStreetMap (Google Maps alternative) | $0.001 / business |
|
|
113
|
+
| `company_hiring_signals` | [company-hiring-signals](https://apify.com/pandadad0214/company-hiring-signals) | Open and new jobs, leadership roles and a hiring score from public ATS boards | $0.003 / company |
|
|
114
|
+
| `company_website_enricher` | [company-website-enricher](https://apify.com/pandadad0214/company-website-enricher) | Domains → name, description, published contacts, socials, tech stack, mail provider | $0.003 / domain |
|
|
115
|
+
| `topic_trends_tracker` | [topic-trends-tracker](https://apify.com/pandadad0214/topic-trends-tracker) | Wikipedia pageview trends with 30-day and YoY change (Google Trends alternative) | $0.002 / topic |
|
|
116
|
+
| `company_team_finder` | [company-team-finder](https://apify.com/pandadad0214/company-team-finder) | Leaders and decision makers from companies' own team pages (no LinkedIn scraping) | $0.002 / person |
|
|
117
|
+
| `trucking_company_leads` | [trucking-company-leads](https://apify.com/pandadad0214/trucking-company-leads) | New and existing US carriers and brokers from official FMCSA data | $0.002 / carrier |
|
|
118
|
+
|
|
119
|
+
Every tool also accepts three optional run controls: `run_max_items` (results to return, default 50), `run_max_charge_usd` (spending cap for the call, default $0.50) and `run_timeout_secs` (default 120, max 300). While a run is in progress the server sends MCP progress notifications every few seconds, so clients that support them do not time out. Most tools answer in 5–15 seconds for a few inputs; `local_business_leads` and big crawls can take a minute or more, so give them `run_timeout_secs: 300`.
|
|
120
|
+
|
|
121
|
+
Also on Apify: the hosted [Academic Research MCP Server](https://apify.com/pandadad0214/panda-research-mcp) ($0.01–$0.02 per call) and [Website Change Monitor](https://apify.com/pandadad0214/website-change-monitor) (publishing soon; it joins this server once it is public).
|
|
122
|
+
|
|
123
|
+
Free for everyone: the [Hidden AI Instructions Scanner](https://apify.com/pandadad0214/hidden-ai-instructions-scanner) (publishing soon) checks web pages for hidden prompt injection aimed at AI agents, and [Hidden AI Instructions Watch](https://github.com/pandadad0214/hidden-ai-instructions-watch) is our public, evidence-only log of what it finds.
|
|
124
|
+
|
|
125
|
+
### Example prompts
|
|
126
|
+
- "Check these 12 references for fake or retracted papers and tell me which to fix."
|
|
127
|
+
- "Find 20 recent peer-reviewed papers on GLP-1 and heart failure with free PDFs, then format them in APA."
|
|
128
|
+
- "Which of these 30 SaaS companies are hiring sales leaders right now? Then find their VP-level contacts."
|
|
129
|
+
- "Audit the email security of acme.com and its three competitors, and list the fixes."
|
|
130
|
+
- "List dentists in Phoenix, AZ with a website and phone number."
|
|
131
|
+
|
|
132
|
+
### Typical workflows
|
|
133
|
+
- **Writing a paper:** `literature_search` → `citation_formatter` → `reference_checker` before you submit.
|
|
134
|
+
- **Systematic review:** `pubmed_evidence_table` (evidence table + PRISMA counts) → `reference_checker`.
|
|
135
|
+
- **Funding:** `grants_finder` → `literature_search` on the topic.
|
|
136
|
+
- **Federal contracting:** `federal_contract_finder` (recompete radar + top incumbents) → `grants_finder`.
|
|
137
|
+
- **Account prioritization:** `company_hiring_signals` → `company_website_enricher` → `email_domain_security_checker`.
|
|
138
|
+
- **Outbound to decision makers:** `company_hiring_signals` → `company_team_finder` (names, titles, email pattern).
|
|
139
|
+
- **Local prospecting:** `local_business_leads` → `ai_search_seo_audit` on their websites.
|
|
140
|
+
- **Trucking and logistics sales:** `trucking_company_leads` → `company_website_enricher`.
|
|
141
|
+
- **Market research:** `topic_trends_tracker` → `literature_search` or `podcast_leads_finder` on rising topics.
|
|
142
|
+
|
|
143
|
+
## Pricing
|
|
144
|
+
|
|
145
|
+
- You pay Apify per result, at the prices above, from your own Apify account. Apify Bronze, Silver and Gold plans get 10–30% off.
|
|
146
|
+
- **Empty runs cost nothing per result.** Apify adds a tiny platform start fee (about $0.00005 per run).
|
|
147
|
+
- `run_max_items` (default 50) also sets the Actor's own result limit on 15 of the 18 tools, so you only pay for the results you asked for. On `grants_finder`, `pdf_table_extractor` and `company_team_finder` (whose limits count sources, pages or companies), set those fields directly; the charge cap still applies.
|
|
148
|
+
- Every MCP call is capped by `run_max_charge_usd` (default $0.50, set your own default with `PANDA_MAX_CHARGE_USD`). Apify stops the run when the cap is reached.
|
|
149
|
+
- The MCP server itself is free and open source (MIT).
|
|
150
|
+
|
|
151
|
+
## Configuration
|
|
152
|
+
|
|
153
|
+
| Variable | Required | Default | Meaning |
|
|
154
|
+
|---|---|---|---|
|
|
155
|
+
| `APIFY_TOKEN` | yes | none | Your Apify API token. Tools list without it; calls need it. |
|
|
156
|
+
| `PANDA_MAX_CHARGE_USD` | no | `0.50` | Default spending cap per call (0.01–25). |
|
|
157
|
+
| `PANDA_MAX_ITEMS` | no | `50` | Default max results per call (1–1000). |
|
|
158
|
+
| `PANDA_TIMEOUT_SECS` | no | `120` | Default seconds to wait per call (10–300). |
|
|
159
|
+
|
|
160
|
+
## Security and permissions
|
|
161
|
+
|
|
162
|
+
- **Runs locally over stdio.** It opens no ports and calls only `https://api.apify.com`.
|
|
163
|
+
- **Token handling:** read from the environment, sent only as an `Authorization: Bearer` header (never in a URL), redacted from every error message, and never logged or returned to the model.
|
|
164
|
+
- **Least privilege:** the token needs permission to run Actors. Apify supports [scoped API tokens](https://docs.apify.com/platform/integrations/api#api-tokens); a token limited to running these Actors is enough.
|
|
165
|
+
- **Read-only tools:** every tool only reads public data; none writes to your systems. Tools are marked `readOnlyHint: true`.
|
|
166
|
+
- **Validated inputs:** every call is checked against the Actor's JSON Schema (types, ranges, enums, no unknown fields) before it runs. Secret Actor inputs (such as optional third-party API keys) are deliberately not exposed to the model.
|
|
167
|
+
- **Bounded cost and time:** per-call spending cap, item cap and timeout. The server retries once only when Apify never started a run (rate limit or failed connection), so a retry can never charge you twice.
|
|
168
|
+
- **Context-safe output:** large results are trimmed to whole items (still valid JSON) for the model, with every item kept in `structuredContent`.
|
|
169
|
+
- **Supply chain:** pinned dependencies with a committed `uv.lock`, `pip-audit` and CodeQL in CI, Dependabot updates, and GitHub Actions pinned to commit SHAs.
|
|
170
|
+
- Found a vulnerability? See [SECURITY.md](SECURITY.md).
|
|
171
|
+
|
|
172
|
+
## Hosted options (no install)
|
|
173
|
+
|
|
174
|
+
- **Academic Research MCP Server (Streamable HTTP):** `https://pandadad0214--panda-research-mcp.apify.actor/mcp` with header `Authorization: Bearer <your Apify token>`. Four research tools (`check_references`, `format_citations`, `search_literature`, `pubmed_evidence_table`). This is the server listed in the official MCP Registry as `io.github.pandadad0214/panda-research-mcp` ([server.json](server.json)).
|
|
175
|
+
- **Apify's MCP server:** `https://mcp.apify.com` can call any of these Actors as `pandadad0214/<slug>`.
|
|
176
|
+
- **Plain HTTP API:**
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
curl -X POST "https://api.apify.com/v2/acts/pandadad0214~reference-checker/run-sync-get-dataset-items" \
|
|
180
|
+
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
|
|
181
|
+
-d '{"dois": ["10.1038/nature14539"]}'
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## Agent skills (Agensi)
|
|
185
|
+
|
|
186
|
+
Ready-made skills that wrap these tools for AI agents are listed on the [Panda Federation Agensi profile](https://www.agensi.io/creators/panda_federation). Each skill runs the Apify tools above, so the usual pay-per-result prices apply on top of the skill price.
|
|
187
|
+
|
|
188
|
+
- [Medical Writing Pack: evidence tables, ref checks and KOLs](https://agensi.io/skills/medical-writing-pack-evidence-tables-ref-checks-kols) ($12)
|
|
189
|
+
- [RFP Compliance Matrix + Incumbent Intel](https://agensi.io/skills/rfp-compliance-matrix-incumbent-intel-federal-proposals) (free)
|
|
190
|
+
- [GEO & SEO Site Audit](https://agensi.io/skills/geo-seo-site-audit-real-crawl-0-100-score-0-004-page) ($4.99)
|
|
191
|
+
- [Email Deliverability Audit: SPF/DKIM/DMARC in bulk](https://agensi.io/skills/email-deliverability-audit-live-spf-dkim-dmarc-in-bulk) (free)
|
|
192
|
+
- [Citation Check: fake, miscited and retracted references](https://agensi.io/skills/citation-check-fake-miscited-retracted-references) (free)
|
|
193
|
+
|
|
194
|
+
## Hire a human (Fiverr)
|
|
195
|
+
Prefer a person to run the tools and hand you finished files? Panda Federation also sells these as Fiverr gigs (seller `pandafederation`). Professional use only, not for coursework.
|
|
196
|
+
|
|
197
|
+
| Gig | Use when | Price |
|
|
198
|
+
|---|---|---|
|
|
199
|
+
| [Reference verification](https://www.fiverr.com/pandafederation/verify-your-references-find-fake-citations-and-retracted-papers) | You want a person to check a whole reference list for fake, mismatched or retracted citations and get a color-coded PDF/Excel report. | from $15, 2-3 days |
|
|
200
|
+
| [Reference list formatting](https://www.fiverr.com/pandafederation/format-or-convert-your-reference-list-to-apa-mla-chicago-or-harvard) | You want a finished reference list formatted or converted to APA, MLA, Chicago, Harvard, IEEE or Vancouver, delivered as Word and PDF. | from $20, 2-3 days |
|
|
201
|
+
| [Web data to CSV/Excel](https://www.fiverr.com/pandafederation/scrape-website-data-into-a-clean-csv-or-excel-spreadsheet) | You want public business data from a website collected and cleaned into CSV or Excel (no logins, paywalls or personal contact data). | from $30, 3-5 days |
|
|
202
|
+
| [Scholarly source lists](https://www.fiverr.com/pandafederation/find-and-screen-scholarly-sources-for-your-topic-with-excel-bibtex-and-ris) | You want a screened list of scholarly sources on a topic, with retraction flags and Excel, BibTeX and RIS files (PubMed study table available as an add-on). | from $25, 2-5 days |
|
|
203
|
+
|
|
204
|
+
## For developers
|
|
205
|
+
|
|
206
|
+
### For AI agents and LLMs
|
|
207
|
+
- [`llms.txt`](llms.txt): short index of every tool and when to use it ([llms.txt convention](https://llmstxt.org)).
|
|
208
|
+
- [`llms-full.txt`](llms-full.txt): each tool's inputs, outputs and prices in one file.
|
|
209
|
+
- [`llms-install.md`](llms-install.md): step-by-step setup for AI coding agents such as Cline.
|
|
210
|
+
- Every result has a one-line summary field (`summary` on the citation, literature, PubMed, PDF, NPI and expert tools; `agentSummary` on the others), and every run saves a `SUMMARY` record with a `takeaway` and the suggested next tool.
|
|
211
|
+
- Start small (one or two inputs), read the summary line, then widen.
|
|
212
|
+
|
|
213
|
+
### Build, test and contribute
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
git clone https://github.com/pandadad0214/panda-federation-tools && cd panda-federation-tools
|
|
217
|
+
uv sync # installs pinned dependencies from uv.lock
|
|
218
|
+
uv run pytest # offline tests, no token or network needed
|
|
219
|
+
uv run ruff check . && uv run mypy
|
|
220
|
+
python scripts/build_catalog.py # refresh tool schemas and prices from the Apify Store
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
Layout: `src/panda_federation_tools/` (server, Apify client, bundled `catalog.json`), `tests/`, `scripts/build_catalog.py`, `Dockerfile`. See [CONTRIBUTING.md](CONTRIBUTING.md) and [CHANGELOG.md](CHANGELOG.md).
|
|
224
|
+
|
|
225
|
+
## Issues and requests
|
|
226
|
+
Open an [issue](https://github.com/pandadad0214/panda-federation-tools/issues) here or on any tool's Apify Issues tab. We answer within a day.
|
|
227
|
+
|
|
228
|
+
Built by Panda Federation with AI assistance. MIT licensed.
|