co.policyforge/mcp
NPM · @POLICYFORGE/MCP · 2 COMPONENTS · SCANNED AUG 3
Generate, audit, and maintain legal policies that match what your code actually does.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security63
- No malware found by supply-chain analysis.Pass
- CVE data not yet available for this package.Unverified
- No install/post-install scripts declared.Pass
- Dependency-health data not yet available.Unverified
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 0 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability0
- Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.Unverified
Stability & Change Management0
- Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.Unverified
Tool Coverage0
- Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.Unverified
Capabilities0
- Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet.Unverified
Unverified: 4 categories
Categories scored 0 because our sandbox run of this package has not given us the schema these checks need to read. That is a gap on our side rather than a finding about the package, and we only credit what we can confirm, so the score stands at 0 until the capture succeeds. We are working through the fleet, so this normally clears without any action from you. How we score packages →
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @policyforge/mcp
claude mcp add co-policyforge-mcp -- npx -y @policyforge/mcp
codex mcp add co-policyforge-mcp -- npx -y @policyforge/mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"co-policyforge-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@policyforge/mcp"
],
"enabled": true
}
}
} openclaw mcp add co-policyforge-mcp --command npx --arg -y --arg @policyforge/mcp
mcp_servers:
co-policyforge-mcp:
command: "npx"
args: ["-y", "@policyforge/mcp"] {
"mcpServers": {
"co-policyforge-mcp": {
"command": "npx",
"args": [
"-y",
"@policyforge/mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 −2
- Known CVEs: partial → unverified ▼ security
- Source repository: fail → pass ▲ security
- Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
- Security disclosure: unverified → fail ▼ functional
- Dependency health: partial → unverified ▼ functional
- Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Capabilities: Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet. functional
- Package version: 0.4.0 → 0.6.1 functional
- Package version: 0.4.0 → 0.6.0 functional
- 2 Aug 26 +30
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Known CVEs: unverified → partial ▲ security
- Malware scan: unverified → pass ▲ security
- Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
- License: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- Maintenance: unverified → pass ▲ functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. functional
- Capabilities: Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet. functional
- Licence: MIT functional
- 31 Jul 26 −18
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Jul 26 18
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/@policyforge/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
audit_compliance Audit compliance ~189
Compliance gap analysis: submit the stack manifest you built by scanning the codebase (see get_disclosure_checklist), optionally with a policy_id to audit against. PolicyForge compares what the code does with what the policy discloses and returns missing disclosures, overstated claims, missing policy types, and recommendations. Without a policy_id it audits the manifest alone (which policies are needed and what they must cover). Does not consume generation quota.
| Name | Type | Req | Description |
|---|---|---|---|
| manifest | object | yes | The detected-stack summary from your codebase scan, e.g. {"analytics":["posthog"],"payments":["stripe"],"ai_features":["openai"],"cookies":["session","_ph_*"],"jurisdiction_signals":["EU locales"],"u… |
| policy_id | string | — | Policy (UUID) to audit the manifest against. Omit to audit the manifest alone. |
No output schema declared.
No examples provided.
check_policy_freshness Check policy freshness ~111
Drift detection: scan the codebase now (get_disclosure_checklist), build the current stack manifest, and compare it against the manifest stored when the policy was last generated/regenerated. Reports what changed in the stack so you know whether the policy still matches the code. Runs locally on the two manifests — no AI call, no quota.
| Name | Type | Req | Description |
|---|---|---|---|
| current_manifest | object | yes | The stack manifest from your fresh codebase scan. |
| id | string | yes | The policy ID (UUID) to check. |
No output schema declared.
No examples provided.
delete_policy Delete policy ~62
Permanently delete a policy. The hosted URL and any embeds of it stop working immediately, and this cannot be undone. Confirm with the user before deleting anything they may have linked from their site.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The policy ID (UUID) to delete. |
No output schema declared.
No examples provided.
generate_baa Generate a HIPAA Business Associate Agreement ~656
Generate a HIPAA Business Associate Agreement (BAA) between a covered entity and a vendor that handles Protected Health Information. Built from the clauses required by 45 CFR 164.504(e) and validated clause by clause before it is returned. Use this instead of generate_policy for BAAs — a BAA is a binding two-party contract, not a published policy, so it needs both parties' legal names and addresses and is never hosted at a public URL. Ask the user for the party details, effective date, and governing law: these are negotiated facts you cannot read from source code. Requires a Pro plan. The result is a draft for counsel to review, not executed legal advice.
| Name | Type | Req | Description |
|---|---|---|---|
| acknowledge_contract | boolean | yes | Must be true — a Business Associate Agreement is a binding contract, not legal advice, and should be reviewed by counsel before signing. |
| baa_breach_notification_days | integer | — | Days to report a breach after discovery. Default 30. 60 is the outer limit under 45 CFR 164.410. |
| baa_business_associate_address | string | yes | Address of the business associate. |
| baa_business_associate_name | string | yes | Legal name of the business associate. |
| baa_covered_entity_address | string | yes | Address of the covered entity. |
| baa_covered_entity_name | string | yes | Legal name of the covered entity. |
| baa_direction | string | yes | covered_entity_to_vendor (you are the practice) or business_associate_to_client (you are the vendor). |
| baa_effective_date | string | yes | YYYY-MM-DD — the date the parties agree on, not today. |
| baa_electronic_phi | boolean | — | Default true — triggers the HIPAA Security Rule safeguard obligations. |
| baa_governing_law_state | string | yes | Governing law state. Stricter state health privacy law is layered on top of HIPAA. |
| baa_include_indemnification | boolean | — | Indemnification running from associate to covered entity. |
| baa_include_insurance | boolean | — | Pair with baa_insurance_amount. |
| baa_insurance_amount | string | — | Minimum cyber liability coverage, e.g. "$1,000,000 per occurrence". |
| baa_permitted_uses | array | yes | Permitted uses and disclosures per 45 CFR 164.504(e)(2)(i). Anything not listed is not permitted. |
| baa_phi_types | array | yes | Categories of PHI involved. Including "Substance use treatment records (42 CFR Part 2)" adds a Part 2 addendum. |
| baa_return_or_destroy | string | — | What happens to PHI at termination. |
| baa_services_description | string | yes | The services that bring the associate into contact with PHI. |
| baa_term_end_date | string | — | YYYY-MM-DD — required when baa_term_type is fixed_term. |
| baa_term_type | string | — | Default tied_to_services (runs with the underlying services agreement). |
| baa_uses_subcontractors | boolean | — | Default false — true adds the subcontractor flow-down clause. |
| company_name | string | yes | Legal name of the user's own company. |
| contact_email | string | yes | Contact email for the agreement. |
No output schema declared.
No examples provided.
generate_policy Generate policy ~734
Generate a legal policy (privacy policy, terms of service, cookie policy, refund policy, EULA, or disclaimer) for a business and return its Markdown content plus a hosted URL. Consumes one policy from the account's quota. IMPORTANT: if you are working inside the user's project, call get_disclosure_checklist and scan the codebase FIRST (dependencies, script tags, cookie writes, outbound hosts), then fill the optional fields below from what the code actually does — do not ask the user for facts you can read from source. Only ask for what code cannot tell you: legal company name, contact email, physical address, governing law.
| Name | Type | Req | Description |
|---|---|---|---|
| analytics | boolean | — | Does it use analytics? |
| business_type | string | yes | The company's business category. |
| children_data | boolean | — | Does it knowingly collect data from children? |
| company_name | string | yes | Legal/display name of the company. |
| consent_tracking | boolean | — | Enable the "I agree" consent banner on the hosted page (default false). |
| contact_email | string | yes | Public contact email for legal inquiries. |
| cookies | boolean | — | Does it use cookies? Defaults to true for most websites. |
| data_collection | array | — | Categories of personal data collected, e.g. ["email","name","usage"]. |
| data_retention | string | — | How long data is kept, e.g. "24 months". |
| dpo_email | string | — | Data Protection Officer email, if any. Also sets hasDPO. |
| governing_law | string | — | Governing law jurisdiction, e.g. "State of California, USA". |
| hosting_enabled | boolean | — | Host the policy at a public policyforge.co URL (default true). |
| jurisdiction | string | yes | Target legal framework(s). One or more of: gdpr, ccpa, pipeda, lgpd, us, eu, ca, uk, au, br, global, Europe, Canada, United Kingdom, Australia, Brazil, India, Singapore, Japan, Mexico. Combine multip… |
| marketing | boolean | — | Does it send marketing communications? |
| payments | boolean | — | Does it process payments? |
| physical_address | string | — | Company physical address. |
| security_measures | array | — | Security controls, e.g. ["encryption at rest","MFA"]. |
| sells_data | boolean | — | Does it sell or share personal data? |
| service_description | string | — | Short description of what the product or service does. |
| stack_manifest | object | — | Structured summary of the stack you detected while scanning the codebase (see get_disclosure_checklist), e.g. {"analytics":["posthog"],"payments":["stripe"],"auth":["supabase"],"ai_features":["openai… |
| table_of_contents | boolean | — | Add a linked table of contents to the generated document. Requires a Pro plan. |
| target_audience | array | — | Audience segments, e.g. ["businesses","consumers"]. |
| third_party_integrations | array | — | Third-party processors, e.g. ["Stripe","Google Analytics"]. |
| type | string | yes | The kind of policy to generate. |
| user_accounts | boolean | — | Does the product have user accounts? |
| website_url | string | — | Company website URL. |
No output schema declared.
No examples provided.
get_disclosure_checklist Get disclosure checklist ~71
Get the rubric for scanning a codebase before generating or updating policies: which SDKs, scripts, and patterns legally require disclosure, and how each finding maps to generate_policy's fields. Call this before generate_policy when working inside the user's project — policies derived from the actual code beat policies from memory.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_integration_guide Get integration guide ~92
Get copy-paste instructions for wiring a generated policy into the user's site: hosted link, embed snippet, and framework-specific placement. Call this after generate_policy to finish the job — a generated policy helps nobody until it's linked from the site.
| Name | Type | Req | Description |
|---|---|---|---|
| framework | string | — | The site's framework, for tailored snippets (default: html). |
| id | string | yes | The policy ID (UUID) to integrate. |
No output schema declared.
No examples provided.
get_policy Get policy ~48
Retrieve a single policy by ID, including its status, hosted URL, and full Markdown content.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The policy ID (UUID) returned by generate_policy or list_policies. |
No output schema declared.
No examples provided.
get_usage Get usage & quota ~45
Check the account's subscription tier and remaining policy-generation quota. Call this before generate_policy on accounts that may be on the free tier, so you can plan instead of hitting quota errors.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_policies List policies ~97
List the policies previously created on this PolicyForge account, newest first.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | — | Max results (1-100, default 20). |
| offset | integer | — | Pagination offset. |
| sortBy | string | — | Sort field (default updatedAt). |
| sortOrder | string | — | Sort direction (default desc). |
| status | string | — | Filter by status. |
| type | string | — | Filter by policy type. |
No output schema declared.
No examples provided.
list_policy_types List policy types ~36
List the supported policy types, business types, and jurisdictions accepted by generate_policy. Call this first if unsure which enum values are valid.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_policy_versions List policy versions ~70
Version history for a policy: snapshots taken before every API update, regeneration, or restore, plus any auto-generated compliance update drafts. Use get-version content via restore_policy_version, or fetch a single version's content with this policy's versions endpoint.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The policy ID (UUID). |
No output schema declared.
No examples provided.
regenerate_policy Regenerate policy ~586
Re-run the AI generation engine over a policy's stored business context merged with the changed fields you provide — same policy ID and hosted URL, so published links keep working. The previous content is saved as a version first (see list_policy_versions / restore_policy_version). Consumes one generation from quota, like generate_policy. Use this when the business context changed substantially (new integrations, new jurisdiction, renamed company); for small wording fixes prefer update_policy, which is free and instant.
| Name | Type | Req | Description |
|---|---|---|---|
| analytics | boolean | — | Does it use analytics? |
| business_type | string | — | Changed business category. |
| children_data | boolean | — | Does it knowingly collect data from children? |
| company_name | string | — | Changed company name. |
| contact_email | string | — | Changed contact email. |
| cookies | boolean | — | Does it use cookies? Defaults to true for most websites. |
| data_collection | array | — | Categories of personal data collected, e.g. ["email","name","usage"]. |
| data_retention | string | — | How long data is kept, e.g. "24 months". |
| dpo_email | string | — | Data Protection Officer email, if any. Also sets hasDPO. |
| governing_law | string | — | Governing law jurisdiction, e.g. "State of California, USA". |
| id | string | yes | The policy ID (UUID) to regenerate. |
| jurisdiction | string | — | Changed legal framework(s), e.g. "gdpr,ccpa". |
| marketing | boolean | — | Does it send marketing communications? |
| payments | boolean | — | Does it process payments? |
| physical_address | string | — | Company physical address. |
| security_measures | array | — | Security controls, e.g. ["encryption at rest","MFA"]. |
| sells_data | boolean | — | Does it sell or share personal data? |
| service_description | string | — | Short description of what the product or service does. |
| stack_manifest | object | — | Structured summary of the stack you detected while scanning the codebase (see get_disclosure_checklist), e.g. {"analytics":["posthog"],"payments":["stripe"],"auth":["supabase"],"ai_features":["openai… |
| table_of_contents | boolean | — | Add a linked table of contents to the generated document. Requires a Pro plan. |
| target_audience | array | — | Audience segments, e.g. ["businesses","consumers"]. |
| third_party_integrations | array | — | Third-party processors, e.g. ["Stripe","Google Analytics"]. |
| user_accounts | boolean | — | Does the product have user accounts? |
| website_url | string | — | Company website URL. |
No output schema declared.
No examples provided.
restore_policy_version Restore policy version ~76
Restore a policy to a previous version from list_policy_versions. The current content is snapshotted as a new version first, so a restore is itself reversible. The hosted URL is unchanged.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The policy ID (UUID). |
| version | integer | yes | The version_number to restore (from list_policy_versions). |
No output schema declared.
No examples provided.
update_policy Update policy ~220
Update an existing policy in place — the policy ID, hosted URL, and embed keep working, so links already published on the user's site stay valid. Use this instead of generate_policy when the business context changed (new SDK, new data flow, renamed company): fetch the current content with get_policy, revise the Markdown yourself, and submit it here. Note: there is no version history — the previous content is overwritten.
| Name | Type | Req | Description |
|---|---|---|---|
| consent_tracking | boolean | — | Enable/disable the "I agree" consent banner on the hosted page. |
| content | string | — | Full replacement Markdown content. Submit the COMPLETE document, not a diff. |
| effective_date | string | — | New effective date, ISO format e.g. "2026-07-13". |
| hosting_enabled | boolean | — | Enable/disable the public hosted page. |
| id | string | yes | The policy ID (UUID) to update. |
| status | string | — | Change publication status. Only 'published' policies are served at the hosted URL. |
| title | string | — | New policy title. |
No output schema declared.
No examples provided.