pinecone-cli

โดย pinecone-io

คู่มือการใช้ Pinecone CLI (pc) เพื่อจัดการทรัพยากร Pinecone จากเทอร์มินัล CLI รองรับดัชนีทุกประเภท (standard, integrated, sparse) และทั้งหมด…

npx skills add https://github.com/pinecone-io/skills --skill pinecone-cli

Pinecone CLI (pc)

Manage Pinecone from the terminal. The CLI is especially valuable for vector operations across all index types — something the MCP currently can't do.

CLI vs MCP

CLIMCP
Index typesAll (standard, integrated, sparse)Integrated only
Vector ops (upsert, query, fetch, update, delete)✅❌
Text search on integrated indexes✅✅
Backups, namespaces, org/project mgmt✅❌
CI/CD / scripting✅❌

Setup

Install (macOS)

brew tap pinecone-io/tap
brew install pinecone-io/tap/pinecone

Other platforms (Linux, Windows) — download from GitHub Releases.

Authenticate

# Interactive (recommended for local dev)
pc login
pc target -o "my-org" -p "my-project"

# Service account (recommended for CI/CD)
pc auth configure --client-id "$PINECONE_CLIENT_ID" --client-secret "$PINECONE_CLIENT_SECRET"

# API key (quick testing)
pc config set-api-key $PINECONE_API_KEY

Check status: pc auth status · pc target --show

Note for agent sessions: If you need to run pc login inside an agent loop, the browser auth link may not surface correctly. It's best to authenticate before starting an agent session. Run pc login in your terminal directly, then invoke the agent once you're authenticated.

Authenticating the CLI does not set PINECONE_API_KEY

pc login authenticates the CLI tool itself — it does not set PINECONE_API_KEY in your environment. Python scripts, Node.js SDKs, and other tools that use the Pinecone SDK need PINECONE_API_KEY set separately.

Use the CLI to create a key and export it in one step:

KEY=$(pc api-key create --name agent-sdk-key --json | jq -r '.value')
export PINECONE_API_KEY="$KEY"

Without jq: run pc api-key create --name agent-sdk-key --json and copy the "value" field manually.


Common Commands

TaskCommand
List indexespc index list
Create serverless indexpc index create -n my-index -d 1536 -m cosine -c aws -r us-east-1
Index statspc index stats -n my-index
Upload vectors from filepc index vector upsert -n my-index --file ./vectors.json
Query by vectorpc index vector query -n my-index --vector '[0.1, ...]' -k 10 --include-metadata
Query by vector IDpc index vector query -n my-index --id "doc-123" -k 10
Fetch vectors by IDpc index vector fetch -n my-index --ids '["vec1","vec2"]'
List vector IDspc index vector list -n my-index
Delete vectors by filterpc index vector delete -n my-index --filter '{"genre":"classical"}'
List namespacespc index namespace list -n my-index
Create backuppc backup create -i my-index -n "my-backup"
JSON output (for scripting)Add -j to any command

Interesting Things You Can Do

Query with custom vectors (not just text)

Unlike the MCP, the CLI lets you query any index with raw vector values — useful when you generate embeddings externally (OpenAI, HuggingFace, etc.):

pc index vector query -n my-index \
  --vector '[0.1, 0.2, ..., 0.9]' \
  --filter '{"source":{"$eq":"docs"}}' \
  -k 20 --include-metadata

Pipe embeddings directly into queries

jq -c '.embedding' doc.json | pc index vector query -n my-index --vector - -k 10

Bulk metadata update with preview

# Preview first
pc index vector update -n my-index \
  --filter '{"env":{"$eq":"staging"}}' \
  --metadata '{"env":"production"}' \
  --dry-run

# Apply
pc index vector update -n my-index \
  --filter '{"env":{"$eq":"staging"}}' \
  --metadata '{"env":"production"}'

Backup and restore

# Snapshot before a migration
pc backup create -i my-index -n "pre-migration"

# Restore to a new index if something goes wrong
pc backup restore -i <backup-uuid> -n my-index-restored

Automate in CI/CD

export PINECONE_CLIENT_ID="..."
export PINECONE_CLIENT_SECRET="..."
pc auth configure --client-id "$PINECONE_CLIENT_ID" --client-secret "$PINECONE_CLIENT_SECRET"
pc index vector upsert -n my-index --file ./vectors.jsonl --batch-size 1000

Script against JSON output

# Get all index names as a list
pc index list -j | jq -r '.[] | .name'

# Check if an index exists before creating
if ! pc index describe -n my-index -j 2>/dev/null | jq -e '.name' > /dev/null; then
  pc index create -n my-index -d 1536 -m cosine -c aws -r us-east-1
fi

Reference Files

Documentation

Skills เพิ่มเติมจาก pinecone-io

pinecone:docs
pinecone-io
เอกสารอ้างอิงที่คัดสรรสำหรับนักพัฒนาที่สร้างด้วย Pinecone ประกอบด้วยลิงก์ไปยังเอกสารทางการที่จัดเรียงตามหัวข้อและการอ้างอิงรูปแบบข้อมูล ใช้เมื่อ...
cultivar
pinecone-io
ขับเคลื่อน CLI ของ cultivar เพื่อทดสอบว่าทักษะของเอเจนต์ช่วยปรับปรุงพฤติกรรมหรือไม่ — สร้างงาน ทำงานโดยมี/ไม่มีทักษะบน Claude/Copilot/Gemini (ในเครื่องหรือ…
pinecone:assistant
pinecone-io
สร้าง จัดการ และแชทกับ Pinecone Assistants สำหรับถาม-ตอบเอกสารพร้อมการอ้างอิง จัดการการทำงานทั้งหมดของ assistant ได้แก่ สร้าง อัปโหลด ซิงค์ แชท บริบท…
pinecone:full-text-search
pinecone-io
สร้าง, นำเข้าข้อมูล และค้นหาดัชนีการค้นหาข้อความแบบเต็ม (FTS) ของ Pinecone โดยใช้ API แสดงตัวอย่าง (2026-01.alpha, public preview) ใช้เมื่อผู้ใช้หรือเอเจนต์ถาม...
pinecone:help
pinecone-io
ภาพรวมของทักษะ Pinecone ทั้งหมดที่มีให้และสิ่งที่ผู้ใช้ต้องใช้ในการเริ่มต้น เรียกใช้เมื่อผู้ใช้ถามว่ามีทักษะใดบ้าง วิธีเริ่มต้นใช้งาน…
pinecone:mcp
pinecone-io
เอกสารอ้างอิงสำหรับเครื่องมือของเซิร์ฟเวอร์ Pinecone MCP เอกสารเครื่องมือที่มีทั้งหมด - list-indexes, describe-index, describe-index-stats, create-index-for-model,…
pinecone:n8n
pinecone-io
สร้างเวิร์กโฟลว์ n8n โดยใช้โหนด Pinecone Assistant หรือโหนด Pinecone Vector Store ใช้เมื่อสร้างไปป์ไลน์ RAG เวิร์กโฟลว์แชทกับเอกสาร การกำหนดค่า…
pinecone:query
pinecone-io
สอบถามดัชนีแบบบูรณาการโดยใช้ข้อความกับ Pinecone MCP สำคัญ - ทักษะนี้ใช้ได้กับดัชนีแบบบูรณาการเท่านั้น (ดัชนีที่มีการฝังในตัวของ Pinecone…)