ASF Policy MCP
MCP server for answering questions about Apache Software Foundation policies, offering tools to list, retrieve, and search policy documents on releases, licensing, branding, security, infrastructure, and incubator topics.
README
ASF Policy MCP
MCP server for answering questions about Apache Software Foundation policies.
Covers the full set of policies listed at https://www.apache.org/board/policies — releases, licensing, branding, security, infrastructure, incubator, and more.
Policy pages are cached locally for 30 days. Use force_refresh=true on read tools to bypass the cache for a single call.
Install
python3 -m venv .venv
. .venv/bin/activate
pip install -e .
Run
asf-policy-mcp
For local development:
python -m asf_policy_mcp.server
Test
pip install -e ".[dev]"
make check
Configure with Claude Desktop or Codex
{
"mcpServers": {
"asf-policy": {
"command": "<path to PolicyMCP>/.venv/bin/python",
"args": ["-m", "asf_policy_mcp.server"]
}
}
}
Tools
list_policies— list all available policy documents organised by section, with cache status.get_policy— retrieve the full text of a policy document by key (e.g.release_policy,branding,incubator).search_policies— keyword search across all policy documents, returning ranked excerpts with context.refresh_cache— force re-fetch of one or all policy documents from the ASF website.
Example questions
Releases
- What files must be included in a release artifact for it to be valid?
- Can we ship a release with only one +1 vote from the PMC?
- Where must release artifacts be published — can we use GitHub Releases as the primary download?
Incubator
- What does a podling need to do before it can graduate?
- Can a podling cut a release before graduating, and what extra requirements apply?
- Who can vote on a podling release, and whose votes are binding?
Licensing
- Is the MIT licence compatible with Apache 2.0 for bundling in a release?
- Can we include a library licensed under LGPL 2.1?
- What is a Category X licence and why does it matter?
- Do we need a CLA from every contributor, or only committers?
- What licence headers are required in source files?
Security
- If someone reports a vulnerability privately, how long before we must disclose?
- Should security issues be discussed on the public dev list?
Branding
- Can a company call its commercial product "Apache Foo Enterprise Edition"?
- Can a third party use "Apache Foo" in the name of their commercial product?
- What must appear on a project website for trademark compliance?
Infrastructure, press, privacy, and reporting
- Can a project use an external Git host like GitLab as its primary code repository?
- Can a project host its website on GitHub Pages?
- Can a company issue a press release announcing new features they've added support for in an Apache project?
- Are Apache mailing list archives public, and what does that mean for personal data posted to them?
- If a PMC discovers a company misusing their project's trademark, who handles it and what should they do first?
- Can a project list corporate affiliations next to committer names on a "Who We Are" page?
- What fields are required in every PMC board report?
Apache Foo scenarios
- Apache Foo wants to publish container images, nightly builds, and release candidates from the same Docker Hub namespace. Which parts are allowed, and what labels or warnings are needed?
- ExampleCo donated most of Apache Foo's original code and still employs most committers. What website, branding, and project independence issues should the PMC watch for?
- A security researcher privately reports a vulnerability in Apache Foo, but a downstream vendor wants to publish a fix immediately. How should the PMC coordinate disclosure, release voting, and public communication?
- Apache Foo wants to accept a large generated code contribution produced with AI tooling and containing third-party snippets. Which licensing, provenance, and source-header checks apply?
- The Apache Foo PMC wants to run an in-person "FooCon" with paid sponsors, project swag, and talks by vendors. Which event branding, merchandise, press, and conduct policies apply?
- A former Apache Foo committer asks for their name and email to be removed from old mailing list archives and Git commits. What do the privacy, public archive, and repository policies imply?
- Apache Foo has not released in two years, has no recent PMC additions, and depends on infrastructure that Infra wants to retire. What should the next board report include?
Policy documents
| Key | Title | Section |
|---|---|---|
pmc |
PMC Guide | Community And Project Oversight |
code_of_conduct |
Code of Conduct | Community And Project Oversight |
anti_harassment |
Anti-Harassment Policy | Community And Project Oversight |
public_archives |
Public Forum Archive Policy | Community And Project Oversight |
project_independence |
Project Independence | Independence |
board_reporting |
Board Reporting Requirements | Reporting |
release_policy |
Release Policy | Release |
voting |
Apache Voting Process | Release |
release_distribution |
Release Distribution Policy | Release |
docker_hub |
Docker Hub Policy | Release |
release_download_pages |
Release Download Pages Policy | Release |
nightlies |
Project Use of nightlies.apache.org | Release |
security |
Security Team Guidance | Security |
security_committers |
Vulnerability Handling for Committers | Security |
licenses |
Contributor License Agreements | Licensing |
apply_license |
Applying the Apache License, Version 2.0 | Licensing |
cla_faq |
CLA FAQ | Licensing |
source_headers |
Apache Source Headers | Licensing |
resolved_licenses |
Approved/Resolved Third-Party Licenses | Licensing |
crypto_policy |
Handling Cryptography within an ASF Release | Licensing |
generative_tooling |
Generative Tooling Guidance | Licensing |
branding |
Project Branding Requirements | Branding |
trademark_maintenance |
Trademark Maintenance Responsibilities | Branding |
website_linking |
Website Linking Policy | Branding |
event_branding |
Third-Party Event Branding Policy | Branding |
merchandise_branding |
Non-Software Merchandise Branding Policy | Branding |
domain_name_branding |
Domain Name Branding Policy | Branding |
downstream_distribution |
Apache Software Downstream Distribution Policy | Branding |
podling_branding |
Incubator Podling Branding Guide | Branding |
event_code_of_conduct |
Event Code of Conduct | Events |
trademark_policy |
ASF Trademark Policy | Branding |
repo_policy |
Repository Policy | Infrastructure |
infra_site_ban |
Site-Wide Ban | Infrastructure |
committer_outreach |
Outreach to Committers | Infrastructure |
content_moderation |
Content Moderation | Infrastructure |
mail_rejection |
Mail Rejection Policy | Infrastructure |
spam_reporting |
Dealing with Spam in Your ASF Email Account | Infrastructure |
password_policy |
Password Requirements | Infrastructure |
third_party_services |
Policy on Issues in Third-Party Services | Infrastructure |
slack_policy |
Policy for Using ASF Slack | Infrastructure |
sensitive_information |
Policy on Sharing Sensitive Information with Infra | Infrastructure |
github_actions |
GitHub Actions | Infrastructure |
website_policy |
Website Policy | Infrastructure |
content_security_policy |
Content Security Policy | Infrastructure |
app_upgrade_policy |
Application Upgrades | Infrastructure |
backup_policy |
Backups | Infrastructure |
os_upgrade_policy |
Operating System Upgrades | Infrastructure |
vm_policy |
Virtual Machines for Projects | Infrastructure |
jira_account_approval |
Approving Jira Account Requests | Infrastructure |
jira_account_retention |
Jira Account Retention Policy | Infrastructure |
press |
Press & Marketing Policy | Press |
sponsorship |
Sponsorship Requirements | Fundraising |
privacy |
Privacy Policy | Privacy |
privacy_contributors |
Privacy Policy for Contributors | Privacy |
privacy_committers |
Privacy Policy for Committers | Privacy |
privacy_project_websites |
Privacy Policy for Project Websites | Privacy |
privacy_downloadable_products_high |
Privacy Policy for ASF Downloadable Applications (High Privacy Standards) | Privacy |
privacy_downloadable_products_medium |
Privacy Policy for Products with Medium Privacy Standards | Privacy |
privacy_mailing_lists |
Mailing List Policy | Privacy |
incubator |
Incubator Podling Policies | Incubator |
incubator_ip_clearance |
Incubator IP Clearance | Incubator |
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.