{"_id":"@contextprompt/completions-sdk","_rev":"6-ee38a34aaed8787d54edbeb329d85ec8","name":"@contextprompt/completions-sdk","dist-tags":{"latest":"0.1.1"},"versions":{"0.0.1":{"name":"@contextprompt/completions-sdk","version":"0.0.1","keywords":["completions","openai","anthropic","claude","gemini","mcp","multi-provider","ai","sdk","contextprompt"],"author":{"name":"ContextPrompt"},"license":"MIT","_id":"@contextprompt/completions-sdk@0.0.1","maintainers":[{"name":"paulmeller","email":"paul.meller@workwireless.com.au"}],"homepage":"https://github.com/contextprompt/completions-sdk#readme","bugs":{"url":"https://github.com/contextprompt/completions-sdk/issues"},"dist":{"shasum":"89799c9c9e970d1909ec1fda36839ad9c1010236","tarball":"https://registry.npmjs.org/@contextprompt/completions-sdk/-/completions-sdk-0.0.1.tgz","fileCount":7,"integrity":"sha512-SoQzGlYMkKU9eizCLY4+X9FPLUZ4S1qYTfBAg/5iwTpaS7ZL/Ks0cmGpn8DsFUJJvr5TheKU1eBaXADkLyN4DQ==","signatures":[{"sig":"MEYCIQDMV1AIOiHJRNR3FcB7glRVqu8b9SaAfd1P80lTBDssYwIhAOT9HYjd93zJoehSpJJU0eCzgbK2WMeZmBWcKK2Hvsb2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118730},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run postbuild","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","postbuild":"echo '{\"type\": \"commonjs\"}' > dist/cjs/package.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"paulmeller","actor":{"name":"paulmeller","type":"user","email":"paul.meller@workwireless.com.au"},"email":"paul.meller@workwireless.com.au"},"repository":{"url":"git+https://github.com/contextprompt/completions-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"Multi-provider completions SDK with MCP support for OpenAI, Claude, and Gemini","directories":{},"_nodeVersion":"24.3.0","dependencies":{"dotenv":"^16.0.0","openai":"^4.0.0","@modelcontextprotocol/sdk":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/completions-sdk_0.0.1_1751556390296_0.6295032181770879","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@contextprompt/completions-sdk","version":"0.0.2","keywords":["completions","openai","anthropic","claude","gemini","mcp","multi-provider","ai","sdk","contextprompt"],"author":{"name":"ContextPrompt"},"license":"MIT","_id":"@contextprompt/completions-sdk@0.0.2","maintainers":[{"name":"paulmeller","email":"paul.meller@workwireless.com.au"}],"homepage":"https://github.com/contextprompt/completions-sdk#readme","bugs":{"url":"https://github.com/contextprompt/completions-sdk/issues"},"dist":{"shasum":"92feb1717dce1b274d159d21378b2a12c55a10ca","tarball":"https://registry.npmjs.org/@contextprompt/completions-sdk/-/completions-sdk-0.0.2.tgz","fileCount":7,"integrity":"sha512-KXgfvUroXy+54MrCEw/a842YS49U7fWPCr4EBUnStYrj926CoG3ns+Tj5lp/FAHs9pU+6OzdnWG9YrA82WRRTg==","signatures":[{"sig":"MEUCIQDsmLL10aNj9PAzlMwLi5IM41fr8oj8agJRWH8T5V+QWQIgbhL4YuqVYEKuVkJNlk5jHxY/o30XYfybkxwXfgKtOmw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124550},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"98c1939f414d10641ab8330f32a3e982569e5f70","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run postbuild","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","postbuild":"echo '{\"type\": \"commonjs\"}' > dist/cjs/package.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"paulmeller","actor":{"name":"paulmeller","type":"user","email":"paul.meller@workwireless.com.au"},"email":"paul.meller@workwireless.com.au"},"repository":{"url":"git+https://github.com/contextprompt/completions-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"Multi-provider completions SDK with MCP support for OpenAI, Claude, and Gemini","directories":{},"_nodeVersion":"24.3.0","dependencies":{"dotenv":"^16.0.0","openai":"^4.0.0","@modelcontextprotocol/sdk":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/completions-sdk_0.0.2_1751571593885_0.21061306100851152","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@contextprompt/completions-sdk","version":"0.0.3","keywords":["completions","openai","anthropic","claude","gemini","mcp","multi-provider","ai","sdk","contextprompt"],"author":{"name":"ContextPrompt"},"license":"MIT","_id":"@contextprompt/completions-sdk@0.0.3","maintainers":[{"name":"paulmeller","email":"paul.meller@workwireless.com.au"}],"homepage":"https://github.com/contextprompt/completions-sdk#readme","bugs":{"url":"https://github.com/contextprompt/completions-sdk/issues"},"dist":{"shasum":"fb441521b2614d356705e932b3979e41c150e016","tarball":"https://registry.npmjs.org/@contextprompt/completions-sdk/-/completions-sdk-0.0.3.tgz","fileCount":7,"integrity":"sha512-i9qg26o9lckEuO3UelZ240HuyZhCJwuRcf/zjjoec1OQqYPQDgwmrrAdA+SgzoM+yo1ITg38x7FiT8OYm9K45g==","signatures":[{"sig":"MEQCIHtMSBbMEcsixXvfVAkamzuMjtk94w9wcx7YP4CImuptAiAFeRbPqS7S5/8qlUq9H+y4u0n7U/Wm9Z6N8m6ShBwWiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125286},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"98c1939f414d10641ab8330f32a3e982569e5f70","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run postbuild","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","postbuild":"echo '{\"type\": \"commonjs\"}' > dist/cjs/package.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"paulmeller","actor":{"name":"paulmeller","type":"user","email":"paul.meller@workwireless.com.au"},"email":"paul.meller@workwireless.com.au"},"repository":{"url":"git+https://github.com/contextprompt/completions-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"Multi-provider completions SDK with MCP support for OpenAI, Claude, and Gemini","directories":{},"_nodeVersion":"24.3.0","dependencies":{"dotenv":"^16.0.0","openai":"^4.0.0","@modelcontextprotocol/sdk":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/completions-sdk_0.0.3_1751572201094_0.6667217034984896","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@contextprompt/completions-sdk","version":"0.0.4","keywords":["completions","openai","anthropic","claude","gemini","mcp","multi-provider","ai","sdk","contextprompt"],"author":{"name":"ContextPrompt"},"license":"MIT","_id":"@contextprompt/completions-sdk@0.0.4","maintainers":[{"name":"paulmeller","email":"paul.meller@workwireless.com.au"}],"homepage":"https://github.com/contextprompt/completions-sdk#readme","bugs":{"url":"https://github.com/contextprompt/completions-sdk/issues"},"dist":{"shasum":"1da587ba4dfacd63a75d33550b0ea204ea626ce2","tarball":"https://registry.npmjs.org/@contextprompt/completions-sdk/-/completions-sdk-0.0.4.tgz","fileCount":7,"integrity":"sha512-5jK2gJC/rVkU/kHzSTryLlZsD1EZ1jkzpXelpyt4hSEIVGcKMp+DkyyEzeWDeI+Vty/FDUbMrQSW3foG09pAjg==","signatures":[{"sig":"MEUCIGVX4NkfTuMIetjaNfgML9UD4Ay4JNdhASNw6kmetaIOAiEA2gr+URoaWh7GZ5IOz+8wG4nRtUDagtyqQ2tcM5EMDtg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126802},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"98c1939f414d10641ab8330f32a3e982569e5f70","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run postbuild","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","postbuild":"echo '{\"type\": \"commonjs\"}' > dist/cjs/package.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"paulmeller","actor":{"name":"paulmeller","type":"user","email":"paul.meller@workwireless.com.au"},"email":"paul.meller@workwireless.com.au"},"repository":{"url":"git+https://github.com/contextprompt/completions-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"Multi-provider completions SDK with MCP support for OpenAI, Claude, and Gemini","directories":{},"_nodeVersion":"24.3.0","dependencies":{"dotenv":"^16.0.0","openai":"^4.0.0","@modelcontextprotocol/sdk":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/completions-sdk_0.0.4_1751572641953_0.4795661905681263","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@contextprompt/completions-sdk","version":"0.1.0","keywords":["completions","openai","anthropic","claude","gemini","mcp","multi-provider","ai","sdk","contextprompt"],"author":{"name":"ContextPrompt"},"license":"MIT","_id":"@contextprompt/completions-sdk@0.1.0","maintainers":[{"name":"paulmeller","email":"paul.meller@workwireless.com.au"}],"homepage":"https://github.com/contextprompt/completions-sdk#readme","bugs":{"url":"https://github.com/contextprompt/completions-sdk/issues"},"dist":{"shasum":"5fd153c700e4f4bc8de0019cde64b7294cc4490f","tarball":"https://registry.npmjs.org/@contextprompt/completions-sdk/-/completions-sdk-0.1.0.tgz","fileCount":7,"integrity":"sha512-LSshbjiRWz9G+LEg0yLEM/aOzbvrdS1HSwRV+60j0PoY+crsYouRiplACipGtULCvWJGz6JY8e0Lxz1/DF1zZA==","signatures":[{"sig":"MEUCIQCG7rKK19rahPIubXQayJXudqwl2qAOclG+w02gCnbeYwIgWiKntpipSe/koToaXnhWC/sYqkRpEDQtfo1cCfRH0hI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125526},"main":"./dist/cjs/index.js","type":"module","types":"./dist/esm/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/esm/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"98c1939f414d10641ab8330f32a3e982569e5f70","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run postbuild","clean":"rm -rf dist","build:cjs":"tsc -p tsconfig.cjs.json","build:esm":"tsc -p tsconfig.esm.json","postbuild":"echo '{\"type\": \"commonjs\"}' > dist/cjs/package.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"paulmeller","actor":{"name":"paulmeller","type":"user","email":"paul.meller@workwireless.com.au"},"email":"paul.meller@workwireless.com.au"},"repository":{"url":"git+https://github.com/contextprompt/completions-sdk.git","type":"git"},"_npmVersion":"11.4.2","description":"Multi-provider completions SDK with MCP support for OpenAI, Claude, and Gemini","directories":{},"_nodeVersion":"24.3.0","dependencies":{"dotenv":"^16.0.0","openai":"^4.0.0","@modelcontextprotocol/sdk":"^0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/completions-sdk_0.1.0_1751574165304_0.2722550144326463","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@contextprompt/completions-sdk","version":"0.1.1","description":"Multi-provider completions SDK with MCP support for OpenAI, Claude, and Gemini","type":"module","main":"./dist/cjs/index.js","module":"./dist/esm/index.js","types":"./dist/esm/index.d.ts","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js","types":"./dist/esm/index.d.ts"}},"scripts":{"clean":"rm -rf dist","build:esm":"tsc -p tsconfig.esm.json","build:cjs":"tsc -p tsconfig.cjs.json","build":"npm run clean && npm run build:esm && npm run build:cjs && npm run postbuild","postbuild":"echo '{\"type\": \"commonjs\"}' > dist/cjs/package.json","test":"echo \"Error: no test specified\" && exit 1","prepublishOnly":"npm run build"},"keywords":["completions","openai","anthropic","claude","gemini","mcp","multi-provider","ai","sdk","contextprompt"],"author":{"name":"ContextPrompt"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/contextprompt/completions-sdk.git"},"homepage":"https://github.com/contextprompt/completions-sdk#readme","bugs":{"url":"https://github.com/contextprompt/completions-sdk/issues"},"dependencies":{"openai":"^4.0.0","dotenv":"^16.0.0","@modelcontextprotocol/sdk":"^0.5.0"},"devDependencies":{"typescript":"^5.0.0"},"publishConfig":{"access":"public"},"_id":"@contextprompt/completions-sdk@0.1.1","gitHead":"98c1939f414d10641ab8330f32a3e982569e5f70","_nodeVersion":"24.3.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-u/craO43WlUdDRS6yEo40cjdA7P7IL/DniFegF61a5GWhE6Km7ZaVZX9aaGU+2QYS4bJ9SIodjPyyYM8ns7OCA==","shasum":"8d63a481dd77264b2c570ba6f97f0330462ca221","tarball":"https://registry.npmjs.org/@contextprompt/completions-sdk/-/completions-sdk-0.1.1.tgz","fileCount":7,"unpackedSize":125550,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFNG8haZEOV1o0tQk5VY2lsR71nF00SW4TbVlzFA92ApAiEA+22IbL3n1s2/8aIo0+nA8IKqAB2LU8JOwVpLCki848Q="}]},"_npmUser":{"name":"paulmeller","email":"paul.meller@workwireless.com.au","actor":{"name":"paulmeller","email":"paul.meller@workwireless.com.au","type":"user"}},"directories":{},"maintainers":[{"name":"paulmeller","email":"paul.meller@workwireless.com.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/completions-sdk_0.1.1_1751575577563_0.08058327106828966"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-03T15:26:30.146Z","modified":"2025-07-03T20:46:17.940Z","0.0.1":"2025-07-03T15:26:30.477Z","0.0.2":"2025-07-03T19:39:54.040Z","0.0.3":"2025-07-03T19:50:01.287Z","0.0.4":"2025-07-03T19:57:22.119Z","0.1.0":"2025-07-03T20:22:45.510Z","0.1.1":"2025-07-03T20:46:17.732Z"},"bugs":{"url":"https://github.com/contextprompt/completions-sdk/issues"},"author":{"name":"ContextPrompt"},"license":"MIT","homepage":"https://github.com/contextprompt/completions-sdk#readme","keywords":["completions","openai","anthropic","claude","gemini","mcp","multi-provider","ai","sdk","contextprompt"],"repository":{"type":"git","url":"git+https://github.com/contextprompt/completions-sdk.git"},"description":"Multi-provider completions SDK with MCP support for OpenAI, Claude, and Gemini","maintainers":[{"name":"paulmeller","email":"paul.meller@workwireless.com.au"}],"readme":"# ContextPrompt Completions SDK\n\nA unified AI SDK that extends OpenAI's interface to support multiple providers (OpenAI, Claude, Gemini) with seamless Model Context Protocol (MCP) integration for external tools.\n\n## Features\n\n- 🔄 **Multi-Provider**: OpenAI, Anthropic Claude, Google Gemini through one interface\n- 🔌 **MCP Integration**: Automatic tool discovery and execution from MCP servers\n- 🎯 **Drop-in Replacement**: Works with existing OpenAI SDK code\n- 🚀 **Zero Config**: Works out-of-the-box with environment variables\n- 🔧 **Per-Request MCP Servers**: Configure different MCP servers for individual requests\n- 📊 **Real-time Tool Feedback**: Get live updates on tool execution progress\n\n## Installation\n\n```bash\nnpm install @contextprompt/completions-sdk\n```\n\n## Quick Start\n\n```javascript\nimport OpenAI from '@contextprompt/completions-sdk';\n\n// Works with any supported model\nconst client = new OpenAI();\n\n// OpenAI\nconst response = await client.chat.completions.create({\n  model: 'gpt-4o',\n  messages: [{ role: 'user', content: 'Hello!' }]\n});\n\n// Claude\nconst claude = await client.chat.completions.create({\n  model: 'claude-3-5-sonnet-20241022',\n  messages: [{ role: 'user', content: 'Explain quantum computing' }]\n});\n\n// Gemini\nconst gemini = await client.chat.completions.create({\n  model: 'gemini-pro',\n  messages: [{ role: 'user', content: 'Write a poem' }]\n});\n```\n\n## Environment Setup\n\n```bash\n# API Keys (at least one required)\nOPENAI_API_KEY=sk-...\nANTHROPIC_API_KEY=sk-ant-...\nGEMINI_API_KEY=AI...\n\n# Optional: Enable debug logging\nDEBUG=true\n```\n\n## MCP Integration\n\nAdd external tools to your AI conversations:\n\n```javascript\nconst client = new OpenAI({\n  mcpServers: {\n    // File system access\n    \"filesystem\": {\n      command: \"npx\",\n      args: [\"-y\", \"@modelcontextprotocol/server-filesystem\", \"/path/to/docs\"]\n    },\n\n    // HTTP API\n    \"api\": {\n      type: \"streamable-http\",\n      url: \"https://api.example.com/mcp\",\n      headers: { \"Authorization\": \"Bearer ${API_TOKEN}\" }\n    }\n  }\n});\n\n// Tools automatically available in conversations\nconst response = await client.chat.completions.create({\n  model: 'gpt-4o',\n  messages: [{ role: 'user', content: 'Search files for \"budget\" and save summary' }]\n  // MCP tools are automatically included and executed\n});\n```\n\n## Supported Models\n\n| Provider | Models |\n|----------|--------|\n| **OpenAI** | `gpt-4o`, `gpt-4o-mini`, `gpt-4-turbo`, `gpt-3.5-turbo` |\n| **Claude** | `claude-3-5-sonnet-20241022`, `claude-3-sonnet-20240229`, `claude-3-haiku-20240307`, `claude-3-opus-20240229` |\n| **Gemini** | `gemini-pro`, `gemini-pro-vision`, `gemini-1.5-pro`, `gemini-1.5-flash` |\n\n## Advanced Usage\n\n### Manual Tool Control\n\n```javascript\n// List available tools\nconst tools = await client.listAvailableTools();\n\n// Call tools directly\nconst result = await client.callMCPTool('filesystem', 'read_file', {\n  path: '/documents/report.txt'\n});\n\n// Server management\nconst status = await client.getMCPServerStatus();\nawait client.restartMCPServer('filesystem');\n```\n\n### Streaming with Tools\n\n```javascript\nconst stream = await client.chat.completions.create({\n  model: 'gpt-4o',\n  messages: [{ role: 'user', content: 'Analyze data and create report' }],\n  stream: true\n});\n\nfor await (const chunk of stream) {\n  process.stdout.write(chunk.choices[0]?.delta?.content || '');\n}\n```\n\n### Configuration Options\n\n```javascript\nconst client = new OpenAI({\n  // Basic options\n  apiKey: 'sk-...', // Optional if using env vars\n  mcpEnabled: true, // Default: true\n  timeout: 30000,\n\n  // MCP server configuration\n  mcpServers: {\n    \"server-name\": {\n      // Command-based server\n      command: \"node\",\n      args: [\"./server.js\"],\n      env: { \"VAR\": \"value\" },\n\n      // OR HTTP-based server\n      type: \"streamable-http\",\n      url: \"http://localhost:3001\",\n      headers: { \"Auth\": \"${TOKEN}\" },\n      timeout: 15000\n    }\n  }\n});\n```\n\n## Error Handling\n\n```javascript\ntry {\n  const response = await client.chat.completions.create({...});\n} catch (error) {\n  if (error.code === 'insufficient_quota') {\n    console.error('API quota exceeded');\n  } else if (error.code?.startsWith('mcp_')) {\n    console.error('MCP error:', error.message);\n  }\n}\n```\n\n## Popular MCP Servers\n\n```bash\n# File system access\nnpx @modelcontextprotocol/server-filesystem /path/to/directory\n\n# Web browsing\nnpx @modelcontextprotocol/server-puppeteer\n\n# Database queries\nnpx @modelcontextprotocol/server-sqlite /path/to/database.db\n\n# Git operations\nnpx @modelcontextprotocol/server-git /path/to/repo\n```\n\n## Documentation\n\n- [Full API Reference](https://github.com/contextprompt/completions-sdk/docs)\n- [MCP Server Setup Guide](https://github.com/contextprompt/completions-sdk/docs/mcp-setup)\n- [Examples Repository](https://github.com/contextprompt/completions-sdk-examples)\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n---\n\n**Need help?** [Create an issue](https://github.com/contextprompt/completions-sdk/issues) or join our [discussions](https://github.com/contextprompt/completions-sdk/discussions).\n","readmeFilename":"README.md"}