Skip to content

Read source info from inline json #209

Description

@jonathanMLDev

Problem

Multi-source setups that need source descriptions and namespace schemas currently require a separate pinecone-sources.json file via PINECONE_CONFIG_FILE. That forces users to maintain two config files (MCP settings + Pinecone sources) and makes it harder to keep private corpus metadata in one place.

Proposed solution

Extend PINECONE_SOURCES (and --sources) to accept JSON in addition to the existing colon format (name:apiKey:indexName;...):

  • Sources-map shape — embed config directly in MCP env.PINECONE_SOURCES, matching data/cppa-pinecone-mcp-setting.json
  • Full file shape{ defaultSource?, sources } as a JSON string
  • Default apiKey — when omitted, use ${sourceName} (resolved from a sibling env var with the same name)

Acceptance criteria

  • JSON PINECONE_SOURCES supports description and namespaces / metadata_schema
  • Colon format continues to work unchanged
  • PINECONE_CONFIG_FILE still takes precedence when both are set
  • Docs updated (CONFIGURATION.md, SECURITY.md, CHANGELOG.md, CLI help)
  • Tests cover JSON parsing, colon regression, precedence, and error cases

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions