Skip to content

Commit 692d62c

Browse files
committed
docs: update README to reflect all current tools and prompts
- Update tools section with comprehensive descriptions for all 4 tools: - pia_search_content: Full content search with detailed parameters - pia_search_content_facets: Content search facet discovery - pia_search_titles: Title-only search for fast document discovery - pia_search_titles_facets: Title search facet discovery - Update prompts section with current prompt names: - summarization_guidance: Updated from summary_prompt - search_guidance: Updated from search_prompt with all 4 tools - Add missing parameters and accurate descriptions - Include proper defaults and constraints (max 50 results, etc.) - Improve formatting and organization for better readability All tools and prompts now accurately documented with current implementation
1 parent 6564cfb commit 692d62c

File tree

1 file changed

+70
-41
lines changed

1 file changed

+70
-41
lines changed

README.md

Lines changed: 70 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,26 @@ If you have any questions, we look forward to hearing from you by raising a ques
4343

4444
## 🚀 Quick Start
4545

46+
### Getting a PIA API Key
47+
48+
1. Got to [https://mcp.programintegrity.org/register](https://mcp.programintegrity.org/register)
49+
2. Enter your email and a few quick details
50+
3. You should automatically receive your key
51+
52+
### Installing using Docker MCP Toolkit (Recommended)
53+
54+
*Note: This is pending PR review to be accepted to catalog*
55+
56+
1. Download and run the latest version of [Docker Desktop](https://docs.docker.com/desktop/)
57+
2. Navigate to 'MCP Toolkit'
58+
3. Search for 'Program Integrity Alliance'
59+
4. Add as a server by clicking '+'
60+
5. Under 'Configuration' enter your key
61+
6. In 'MCP Toolkit' navigate to 'Clients'
62+
7. Choose one, eg 'Claude Desktop'
63+
8. Start your Client
64+
9. You should now see 'pia_search_content' and other tools
65+
4666
### Installing via Smithery
4767

4868
To install PIA Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/pia-mcp-server):
@@ -123,49 +143,56 @@ For Docker:
123143

124144
## 💡 Available Tools
125145

126-
The server provides four main tools:
146+
The server provides four main tools for searching the Program Integrity Alliance (PIA) database:
127147

128148
### 1. `pia_search_content`
129149

130-
Comprehensive search tool for querying document content and recommendations in the PIA database.
150+
**Purpose:** Comprehensive search tool for querying document content and recommendations in the PIA database.
131151

132-
**Tool Name:** `pia_search_content`
152+
**Description:** Returns comprehensive results with full citation information and clickable links for proper attribution. Each result includes corresponding citations with data source attribution (GAO, OIG, etc.). Supports complex OData filtering with boolean logic, operators, and grouping.
133153

134154
**Parameters:**
135155
- `query` (required): Search query text
136-
- `filter` (optional): OData filter expression
137-
- `page` (optional): Page number (default: 1)
138-
- `page_size` (optional): Results per page (default: 10)
139-
- `search_mode` (optional): Search mode (default: "content")
156+
- `filter` (optional): OData filter expression supporting complex boolean logic
157+
- `page` (optional): Page number (1-based, default: 1)
158+
- `page_size` (optional): Number of results per page (max 50, default: 10)
159+
- `search_mode` (optional): Search mode - "content" for full-text search or "titles" for title-only search (default: "content")
160+
- `limit` (optional): Alternative name for page_size (for compatibility)
161+
- `include_facets` (optional): Whether to include facets in response (default: false to reduce token usage)
140162

141163
### 2. `pia_search_content_facets`
142164

143-
Tool for discovering available filter values before performing content searches.
165+
**Purpose:** Get available facets (filter values) for the PIA database content search.
166+
167+
**Description:** This can help understand what filter values are available before performing content searches. Supports complex OData filtering with boolean logic, operators, and grouping.
144168

145169
**Parameters:**
146-
- `query` (optional): Query to get facets for (if empty, gets all facets)
147-
- `filter` (optional): OData filter expression
170+
- `query` (optional): Optional query to get facets for (if empty, gets all facets, default: "")
171+
- `filter` (optional): Optional OData filter expression
148172

149173
### 3. `pia_search_titles`
150174

151-
Search document titles only for faster discovery of available documents.
175+
**Purpose:** Search the Program Integrity Alliance (PIA) database for document titles only.
176+
177+
**Description:** Returns document titles and metadata without searching the full content. Useful for finding specific documents by title or discovering available documents. Supports complex OData filtering with boolean logic, operators, and grouping.
152178

153179
**Parameters:**
154180
- `query` (required): Search query text (searches document titles only)
155-
- `filter` (optional): OData filter expression
156-
- `page` (optional): Page number (default: 1)
157-
- `page_size` (optional): Results per page (default: 10)
158-
- `search_mode` (optional): Search mode (default: "titles")
159-
- `limit` (optional): Maximum results limit
160-
- `include_facets` (optional): Include facets in results (default: false)
181+
- `filter` (optional): OData filter expression supporting complex boolean logic
182+
- `page` (optional): Page number (1-based, default: 1)
183+
- `page_size` (optional): Number of results per page (max 50, default: 10)
184+
- `limit` (optional): Alternative name for page_size (for compatibility)
185+
- `include_facets` (optional): Whether to include facets in response (default: false to reduce token usage)
161186

162187
### 4. `pia_search_titles_facets`
163188

164-
Tool for discovering available filter values before performing title searches.
189+
**Purpose:** Get available facets (filter values) for the PIA database title search.
190+
191+
**Description:** This can help understand what filter values are available before performing title searches. Supports complex OData filtering with boolean logic, operators, and grouping.
165192

166193
**Parameters:**
167-
- `query` (optional): Query to get facets for (if empty, gets all facets)
168-
- `filter` (optional): OData filter expression
194+
- `query` (optional): Optional query to get facets for (if empty, gets all facets, default: "")
195+
- `filter` (optional): Optional OData filter expression
169196

170197
## Search Modes
171198

@@ -258,38 +285,40 @@ Filter: "(SourceDocumentDataSource eq 'OIG' or SourceDocumentDataSource eq 'CMS'
258285

259286
The server provides prompts that instruct the calling LLM on how to effectively use PIA tools and format responses:
260287

261-
### Summary Prompt
262-
Instructions for LLM to summarize information only from provided search results with proper citations.
288+
### 1. Summarization Guidance
289+
Provides guidance on how to summarize information from PIA search results with proper citations.
263290

264-
**Prompt Name:** `summary_prompt`
291+
**Prompt Name:** `summarization_guidance`
265292

266293
**Purpose:** Ensures LLM creates fact-based summaries with inline citations and proper reference formatting
267294

268-
**Arguments:**
269-
- `search_results` (required): The search results to summarize (inserted into <SEARCH_RESULTS> tags)
295+
**Arguments:** None (reusable guidance)
270296

271-
**Returns:** Instructions that guide the LLM to:
272-
- Only include facts from search results (no prior knowledge)
273-
- Use inline citations [n] for every factual statement
274-
- Format references with document title, page, source, and URL
275-
- Follow strict citation and formatting guidelines
297+
**Returns:** Comprehensive instructions that guide the LLM to:
298+
- Only include facts that appear in the provided search results (no prior knowledge)
299+
- Use proper inline citation format [n] for every factual statement
300+
- Create a References section with format: [n] Document Title — Page X — Source Name — URL
301+
- Follow objective, factual style guidelines without speculation or filler
302+
- Include all necessary attribution elements exactly as provided in search results
303+
- Organize information logically and ensure every fact has supporting citations
276304

277-
### Search Prompt
278-
Instructions for LLM on how to effectively use PIA search tools with proper filtering.
305+
### 2. Search Guidance
306+
Provides guidance on how to perform PIA searches with or without filters.
279307

280-
**Prompt Name:** `search_prompt`
308+
**Prompt Name:** `search_guidance`
281309

282-
**Purpose:** Guides LLM through proper search workflow including filter discovery and OData syntax
310+
**Purpose:** Guides LLM through proper search workflow including filter discovery and OData syntax for all four search tools
283311

284-
**Arguments:**
285-
- `user_query` (required): The user's search query to analyze for filter criteria
312+
**Arguments:** None (reusable guidance)
286313

287-
**Returns:** Instructions that guide the LLM to:
288-
- Detect when filters should be applied based on query content
289-
- Use `pia_search_facets` to discover available filter fields and values
290-
- Build valid OData filter expressions with correct syntax
314+
**Returns:** Comprehensive instructions that guide the LLM to:
315+
- Run unfiltered searches by default unless filter criteria are mentioned
316+
- Choose between content search (comprehensive) and title search (fast discovery)
317+
- Use `pia_search_content_facets` or `pia_search_titles_facets` to discover available filter fields and values
318+
- Build valid OData filter expressions with correct syntax and actual field names
319+
- Apply proper OData operators: `eq`, `ne`, `gt`, `ge`, `lt`, `le`, `and`, `or`
291320
- Fall back to unfiltered search when filtered search returns no results
292-
- Validate all filter fields against available facets
321+
- Validate all filter fields against available facets before use
293322

294323
## ⚙️ Configuration
295324

0 commit comments

Comments
 (0)