Candid MCP logo

Candid MCP

Candid MCP lets agents research nonprofit organizations, funders, funding opportunities, social-sector knowledge, and related news using Candid data.

6 actions Integration catalog
Request access
Connect Candid MCP once you're in Boring.
01 · WHAT THE AGENT CAN DO

Actions

Every capability is a discrete, logged action the agent calls by name — scoped to what you authorize and recorded in the run trace.

Current dateCANDID_MCP_CURRENT_DATE
Get the current day to reference for any time-sensitive data requests. ALWAYS call this tool: * At the beginning of conversations involving dates or timelines * Before searching news or time-sensitive data * When interpreting or presenting any temporal information (recent, upcoming, last year, etc.) * Before making statements about when events occurred or will occur Never assume the correct date. If data only includes partial date information, use this tool to infer missing details. Returns ------- date Today's date
Identify locationsCANDID_MCP_IDENTIFY_LOCATIONS
Uses natural language processing to find and match named geographies found in the supplied text. The output will supply identified geographies from [Geonames](https://www.geonames.org/). These geographies can be used for other Candid tools like organization search to get more specific results. Key Usage Requirements: - This tools is most effective when the input text is a full sentence or more and grammatically correct - It uses a NLP model to resolve geographic names and then matches them using graph inferencing Parameters ---------- text : str Text describing working in the social sector. This should be related to the social and/or philanthropic sector. Examples -------- >>> geo_detect(text='Homeless shelters in new york city') Returns ------- list[GeocodingRecord] Matched geographies responses. This is an array of data objects which contain the `name` of the geography as it appeared in the supplied text, and the best match to a Geonames geography. For many Candid knowledge tools the `geonames_id` value will be most useful.
Identify mentioned organizationsCANDID_MCP_IDENTIFY_MENTIONED_ORGANIZATIONS
Resolve and link organization names to official Candid nonprofit profiles. Use after any response that mentions nonprofit or foundation names to generate clickable profile links. This uses the Candid Search in a lookup mode, and then finds the best result(s) using a heuristic string similarity search. This tool is focused on getting links to the organization's Candid profile for the user to click and explore in more detail. Use the URLs here to replace organization names in the chat response with links to the organization's profile. Links to Candid profiles **MUST** be used to do the following: 1. Generate direct links to Candid organization profiles 2. Provide a mechanism for users to easily access detailed organizational information 3. Enhance responses with authoritative source links Key Usage Requirements: - This tool should be used after a knowledge resources result if organization names are mentioned - This tool should be used after a web search if organization names are mentioned - This tool should not be used after any Candid tool which returns a `profile_link` URL field - Always incorporate returned profile URLs directly into the response text - Replace organization name mentions with hyperlinked Candid profile URLs - Prioritize creating a seamless user experience by making URLs contextually relevant Example Desired Output: Instead of: 'The Gates Foundation does impressive work.' Use: 'The [Gates Foundation](https://app.candid.org/profile/XXXXX) does impressive work.' Failure to integrate the URLs into the response is considered an incomplete implementation. Examples -------- >>> identify_mentioned_organizations(organizations=['Gates Foundation', 'Candid']) Parameters ---------- organizations : list[str] A list of organization name strings found in a chat response message which need to be matches Returns ------- dict[str, OrganizationRecord] mapping input name --> Candid Search organization record of the best potential match, including the profile URL
Knowledge resourcesCANDID_MCP_KNOWLEDGE_RESOURCES
Get answers to questions about the social and philanthropic sector directly fom Candid's subject matter experts. This knowledge includes help articles and video training sessions from Candid's subject matter experts, blog posts about the sector from Candid staff and trusted partner authors, research documents about the sector and news articles curated about activity happening in the sector around the world. Searches are performed through a combination of vector and keyword searching. Results are then re-ranked against the original query to get the best results. Search results often come back with specific organizations named, especially if referencing the news. In these cases the organizations should be identified in Candid's data and links to their profiles **MUST** be included in final chat response to the user. Key Usage Requirements: - Identify names of nonprofits and foundations in the returned text using `identify_mentioned_organizations` - Always incorporate returned profile URLs directly into the response text - Replace organization name mentions with hyperlinked Candid profile URLs - Prioritize creating a seamless user experience by making URLs contextually relevant Parameters ---------- query : str Text describing a user's question or a description of investigative work which requires support from Candid's knowledge base sources : list[SourceNames] One or more sources of knowledge from different areas at Candid. * Candid Blog: Blog posts from Candid staff and trusted partners intended to help those in the sector or illuminate ongoing work * Candid Help: Candid FAQs to help user's get started with Candid's product platform and learning resources * Candid Learning: Training documents from Candid's subject matter experts * Candid News: News articles and press releases about real-time activity in the philanthropic sector * IssueLab Research Reports: Academic research reports about the social/philanthropic sector * YouTube Training: Transcripts from video-based training seminars from Candid's subject matter experts news_days_ago : int, optional How many days in the past to search for news articles, if a user is asking for recent trends then this value should be set lower >~ 10, by default 60 If output is a string then that means there was some error, and retry should be considered Returns ------- list[KnowledgeArticle]
Search organizationsCANDID_MCP_SEARCH_ORGANIZATIONS
Find nonprofits and grantmaking organizations in Candid's database by name, mission, EIN, location, or type of work. Use to look up a specific organization, find peer organizations, or discover organizations working on a topic. Search for organizations by name, description or work, program descriptions and locations. Here are some guidelines: * `query` controls hybrid searching involving both vector search and keyword search * `query` can be used to find organizations based on a description of work * if the query is intended to be a lookup of an organization by name, then adding quotes around the `query` string circumvents vector search, and prioritizes keyword matching on names (eg. `query=Candid` --> `query='Candid'`) * if the query is an EIN (eg. 12-3456789) then keyword searching is prioritized to get exact matches * adding location information such as postal codes and/or admin1 (state/province abbreviations) will filter results * adding subject or population codes will filter results * these results are not comprehensive and are limited to a small set size, several invocations may be necessary to explore This tool should be used as a first step in any downstream task which requires identifying the nonprofit that the user is identifying with. Often, the `nonprofit_id` is required, and that can be found via a search. Subjects and populations can be determined using the `autocode` tool using unstructured text describing the user's intended search. Codes strictly filter results, and aren't necessary for general retrieval queries, but may be used when the user is drilling down on data. Geographies can be determined using the geo detection tool using unstructured text describing the user's intended search. Geographies strictly filter results, and aren't necessary for general retrieval queries, but may be used when the user is drilling down on data. Key Usage Requirements: - Always incorporate returned profile URLs directly into the response text - Replace funding organization name mentions with hyperlinked Candid profile URLs - Prioritize creating a seamless user experience by making URLs contextually relevant - Use relevant recipient data as well as inferred metadata to provide explanations about recommendation relevance Parameters ---------- query : str Free text query which drives the search functionality. This uses a hybrid approach of vector and keyword searching, but under certain conditions expressed in the 'guidelines' this may disable vector search. located_postal_code : str | None, optional Postal code of the organization to be searched, if provided, by default None located_admin1 : str | None, optional Admin1 code (state/province abbreviation) of the organization to be searched, if provided, by default None subject_codes : str | None, optional Subject codes from Candid's PCS taxonomy, comma separated, by default None populations_served_codes : str | None, optional Population groups served codes from Candid's PCS taxonomy, comma separated, by default None geonameids_of_geographies_served : str | None, optional Geonames ID values for geographies served by organizations in search results, comma separted, by default None geonameids_of_organization_location : str | None, optional Geonames ID values for location(s) of the organizations in search results, comma separted, by default None org_seal_status : str | None, optional Comma separated seals of transparency the resulting organizations should have where the values can be: * PLATINUM * GOLD * SILVER * BRONZE * NOSEAL "PLATINUM" is the most transparent, "NOSEAL" means the organization has claimed their Candid profile but abandoned the data update process for whatever reason. None puts no restrictions on this, by default None leader_demographics : str | None, optional Comma separated demographic categories for the result organization's leader where values can be: * Woman leader or co-leader * BIPOC leader or co-leader * LGBTQ+ leader or co-leader * Leader or co-leader with a disability None puts no restrictions on this, by default None Examples -------- >>> organization_search(query='Homeless shelters in new york city') >>> organization_search( query='Homeless shelters in new york city, located_admin1='NY', geonameids_of_geographies_served='5128581' ) >>> organization_search( query='Homeless shelters in new york city, subject_codes='SS090200,SS070102', populations_served_codes='PG030100', geonameids_of_geographies_served='5128581' ) Returns ------- list[OrganizationRecord] List of the top organization search results
Taxonomy termsCANDID_MCP_TAXONOMY_TERMS
Uses natural language processing to align input text to Candid's taxonomy, the Philanthropy Classification System (PCS). The taxonomy describes activity in the social and philanthropic sectors including the purpose of the activity and what population groups the activity serves. These taxonomy codes can be used for other Candid tools like organization search to get more specific results. A complete description of the taxonomy is available to the public at https://taxonomy.candid.org. Parameters ---------- text : str Text describing working in the social sector. This should be related to the social and/or philanthropic sector. Examples -------- >>> autocode(text='Housing assistance programs for homeless veterans') Returns ------- list[AutocodingRecord] Taxonomy responses. The items in the list are each taxonomy terms which the NLP model has determined is relevant given the input text. This also includes confidence scores.