@withpica/mcp-server
v2.11.0
Published
MCP Server for PICA Platform - enables AI assistants to interact with PICA
Maintainers
Readme
PICA MCP Server
Model Context Protocol (MCP) server for the PICA Platform. Enables any MCP-compatible AI assistant to interact with your PICA music catalog.
What is MCP?
The Model Context Protocol (MCP) is an open standard that enables AI assistants to securely access external data and functionality. With this MCP server, any MCP-compatible AI can interact with your PICA catalog.
Compatible AI Assistants
- Claude Desktop - Anthropic's desktop AI assistant
- ChatGPT - OpenAI's assistant (when MCP support is available)
- Custom AI tools - Any application that implements the MCP protocol
- Future AI assistants - As more tools adopt MCP
Features
24 AI-Callable Tools
Works Management (8 tools)
pica_works_list- List musical workspica_works_get- Get work detailspica_works_create- Create new workpica_works_update- Update workpica_works_delete- Delete workpica_works_verify- Verify workpica_works_search- Search workspica_works_bulk_delete- Delete multiple works
People Management (8 tools)
pica_people_list- List peoplepica_people_get- Get person detailspica_people_create- Create new personpica_people_update- Update personpica_people_delete- Delete personpica_people_search- Search peoplepica_people_enrich_isni- Enrich from ISNIpica_people_enrich_musicbrainz- Enrich from MusicBrainz
Recordings Management (6 tools)
pica_recordings_list- List recordingspica_recordings_get- Get recording detailspica_recordings_create- Create new recordingpica_recordings_update- Update recordingpica_recordings_delete- Delete recordingpica_recordings_by_work- Get recordings of a work
Search & Analytics (2 tools)
pica_search_all- Search across all entitiespica_catalog_stats- Get catalog statistics
4 Data Resources
Read-only access to catalog data:
works://list- All workspeople://list- All peoplerecordings://list- All recordingscatalog://stats- Catalog statistics
4 Workflow Prompts
Pre-configured prompts for common tasks:
analyze-catalog- Comprehensive catalog analysisfind-duplicates- Find duplicate entriesenrich-metadata- Identify enrichment opportunitiesverify-works- Review unverified works
Installation
NPM (Recommended)
npm install -g @withpica/mcp-serverFrom Source
cd mcp-server
npm install
npm run build
npm linkConfiguration
Get Your PICA API Key
- Log into PICA at https://withpica.com
- Go to Settings → API Keys
- Generate a new API key
- Copy the key for use below
Claude Desktop Setup
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"pica": {
"command": "npx",
"args": ["-y", "@withpica/mcp-server"],
"env": {
"PICA_API_KEY": "your-api-key-here"
}
}
}
}Other MCP-Compatible AI Assistants
The setup process is similar for any MCP-compatible tool:
- Configure the MCP server command:
npx -y @withpica/mcp-server - Set the
PICA_API_KEYenvironment variable - The AI can now access all PICA tools and resources
Usage Examples
Example 1: List Your Works
User: "Show me my musical works"
AI uses: pica_works_list
Result: List of works with titles, ISWCs, verification status, etc.
Example 2: Create a Work
User: "Create a new composition called 'Moonlight Sonata No. 2'"
AI uses: pica_works_create with appropriate parameters
Result: New work created with generated ID
Example 3: Analyze Catalog
User: "Analyze my catalog"
AI uses: analyze-catalog prompt
AI calls:
pica_catalog_stats- Get statisticspica_works_list- Review workspica_people_list- Review people
Result: Comprehensive analysis with insights and recommendations
Example 4: Find Duplicates
User: "Find duplicate entries"
AI uses: find-duplicates prompt
AI calls:
pica_works_list- Get all workspica_people_list- Get all people
Result: List of potential duplicates with merge recommendations
Example 5: Enrich Metadata
User: "Enrich Mozart's profile from ISNI"
AI uses: pica_people_enrich_isni with person ID and ISNI
Result: Person record updated with enriched data from ISNI
Use Cases
For Catalog Managers
- "Show me all unverified works"
- "Find duplicate entries"
- "List works missing ISWC codes"
- "Enrich all people from ISNI"
For Data Analysis
- "What's the average duration of my compositions?"
- "Who are my most prolific composers?"
- "Which works have the most recordings?"
- "Show me catalog statistics"
For Enrichment
- "Find all people that could be enriched from MusicBrainz"
- "Suggest ISNI matches for unverified artists"
- "Which works are missing metadata?"
For Bulk Operations
- "Create works from this list"
- "Verify all completed works"
- "Delete test entries"
Environment Variables
PICA_API_KEY(required) - Your PICA API keyPICA_API_URL(optional) - API base URL (default: https://withpica.com/api)DEBUG(optional) - Enable debug logging (set to 'true' or '1')
Development
Build
npm run buildDevelopment Mode
npm run devLocal Testing
PICA_API_KEY=your-key npm run devTroubleshooting
"PICA_API_KEY environment variable is required"
Make sure you've set the API key in your MCP server configuration:
{
"env": {
"PICA_API_KEY": "your-actual-api-key"
}
}"Authentication failed"
- Verify your API key is correct
- Check that the API key hasn't been revoked
- Generate a new API key if needed
Tools Not Showing Up
- Restart your AI assistant after configuring the MCP server
- Check the MCP server logs for errors
- Verify the configuration file syntax is correct
Connection Issues
- Ensure you have an internet connection
- Check that https://withpica.com is accessible
- Verify no firewall is blocking the connection
Architecture
MCP Server for PICA
├── Protocol Handler (MCP standard)
├── Authentication (API key)
├── Tools (24 AI-callable functions)
│ ├── Works Management (8)
│ ├── People Management (8)
│ ├── Recordings Management (6)
│ └── Search & Analytics (2)
├── Resources (4 data providers)
└── Prompts (4 workflows)Security
- All requests require a valid PICA API key
- API keys are transmitted securely over HTTPS
- Data access is scoped to your organization
- No data is stored by the MCP server
Support
- Documentation: https://docs.withpica.com
- Issues: https://github.com/withpica/pica/issues
- Email: [email protected]
License
MIT
Credits
Built with:
- @modelcontextprotocol/sdk - MCP SDK
- @withpica/sdk - PICA TypeScript SDK
