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.
@@ -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
+ [![Latest Release](https://img.shields.io/github/v/release/pandadad0214/panda-federation-tools?label=latest%20release)](https://github.com/pandadad0214/panda-federation-tools/releases/latest)
42
+ [![M8ven Score](https://m8ven.ai/badge/mcp/pandadad0214-panda-federation-tools-ta5xv3?v=eebc91f7834ff2dc3922a4031d7790f2)](https://m8ven.ai/mcp/pandadad0214-panda-federation-tools-ta5xv3?s=readme)
43
+ [![CI](https://github.com/pandadad0214/panda-federation-tools/actions/workflows/ci.yml/badge.svg)](https://github.com/pandadad0214/panda-federation-tools/actions/workflows/ci.yml)
44
+ [![CodeQL](https://github.com/pandadad0214/panda-federation-tools/actions/workflows/codeql.yml/badge.svg)](https://github.com/pandadad0214/panda-federation-tools/actions/workflows/codeql.yml)
45
+ [![MCP Registry](https://img.shields.io/badge/MCP_Registry-io.github.pandadad0214%2Fpanda--research--mcp-blue)](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.pandadad0214)
46
+ [![Apify Store](https://img.shields.io/badge/Apify_Store-pandadad0214-00a3ff)](https://apify.com/pandadad0214)
47
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue)](pyproject.toml)
48
+ [![License: MIT](https://img.shields.io/badge/license-MIT-green)](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
+ [![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](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
+ [![Latest Release](https://img.shields.io/github/v/release/pandadad0214/panda-federation-tools?label=latest%20release)](https://github.com/pandadad0214/panda-federation-tools/releases/latest)
6
+ [![M8ven Score](https://m8ven.ai/badge/mcp/pandadad0214-panda-federation-tools-ta5xv3?v=eebc91f7834ff2dc3922a4031d7790f2)](https://m8ven.ai/mcp/pandadad0214-panda-federation-tools-ta5xv3?s=readme)
7
+ [![CI](https://github.com/pandadad0214/panda-federation-tools/actions/workflows/ci.yml/badge.svg)](https://github.com/pandadad0214/panda-federation-tools/actions/workflows/ci.yml)
8
+ [![CodeQL](https://github.com/pandadad0214/panda-federation-tools/actions/workflows/codeql.yml/badge.svg)](https://github.com/pandadad0214/panda-federation-tools/actions/workflows/codeql.yml)
9
+ [![MCP Registry](https://img.shields.io/badge/MCP_Registry-io.github.pandadad0214%2Fpanda--research--mcp-blue)](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.pandadad0214)
10
+ [![Apify Store](https://img.shields.io/badge/Apify_Store-pandadad0214-00a3ff)](https://apify.com/pandadad0214)
11
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue)](pyproject.toml)
12
+ [![License: MIT](https://img.shields.io/badge/license-MIT-green)](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
+ [![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](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.