Skip to main content
Glama
zvika-finally

Marqeta DiVA API MCP Server

QUICKSTART.md6.4 kB
# Quick Start Guide - Publishing to PyPI with UV This is your streamlined guide to publish `marqeta-diva-mcp` to PyPI using `uv`. ## ✅ Already Completed - [x] Updated author info (Zvika Badalov) - [x] Updated LICENSE (MIT) - [x] Updated GitHub URLs - [x] Initialized git repository - [x] Polished README.md - [x] Installed build tools (`build` and `twine`) ## 🚀 Next Steps ### Step 1: Create GitHub Repository (5 minutes) **Option A: Web Interface (Easiest)** 1. Open: https://github.com/new 2. Fill in: - Owner: `zvika-finally` - Repository name: `marqeta-diva-mcp` - Description: "MCP server for Marqeta DiVA API - Data insights, Visualization, and Analytics" - Visibility: **Public** - Do NOT initialize with README/license 3. Click "Create repository" **Then push your code:** ```bash # Add remote git remote add origin https://github.com/zvika-finally/marqeta-diva-mcp.git # Commit and push git commit -m "Initial commit: Marqeta DiVA MCP Server v0.2.0" git push -u origin main ``` **Verify:** Visit https://github.com/zvika-finally/marqeta-diva-mcp --- ### Step 2: Create PyPI Accounts (10 minutes) **2a. TestPyPI (for testing):** - Register: https://test.pypi.org/account/register/ - Email: zvika.badalov@finally.com - ✅ Verify your email **2b. PyPI (production):** - Register: https://pypi.org/account/register/ - Email: zvika.badalov@finally.com - ✅ Verify your email **Tip:** Use the same username for both! --- ### Step 3: Generate API Tokens (5 minutes) **3a. TestPyPI Token:** 1. Login to TestPyPI 2. Visit: https://test.pypi.org/manage/account/token/ 3. Click "Add API token" 4. Name: `marqeta-diva-mcp-upload` 5. Scope: "Entire account" 6. **Copy the token** (starts with `pypi-`) 7. Save it securely! **3b. PyPI Token:** 1. Login to PyPI 2. Visit: https://pypi.org/manage/account/token/ 3. Click "Add API token" 4. Name: `marqeta-diva-mcp-upload` 5. Scope: "Entire account" 6. **Copy the token** (starts with `pypi-`) 7. Save it securely (different from TestPyPI)! **3c. Configure tokens (recommended):** ```bash # Create ~/.pypirc cat > ~/.pypirc << 'EOF' [distutils] index-servers = pypi testpypi [testpypi] repository = https://test.pypi.org/legacy/ username = __token__ password = pypi-YOUR-TESTPYPI-TOKEN-HERE [pypi] repository = https://upload.pypi.org/legacy/ username = __token__ password = pypi-YOUR-PYPI-TOKEN-HERE EOF # Secure the file chmod 600 ~/.pypirc ``` Replace `pypi-YOUR-TESTPYPI-TOKEN-HERE` and `pypi-YOUR-PYPI-TOKEN-HERE` with your actual tokens! --- ### Step 4: Build the Package (1 minute) ```bash # Clean previous builds rm -rf dist/ build/ *.egg-info # Build with uv uv run pyproject-build # Verify ls -lh dist/ ``` **Expected output:** ``` dist/marqeta-diva-mcp-0.2.0.tar.gz dist/marqeta_diva_mcp-0.2.0-py3-none-any.whl ``` --- ### Step 5: Test on TestPyPI (3 minutes) ```bash # Upload to TestPyPI twine upload --repository testpypi dist/* ``` **If you configured ~/.pypirc:** It uploads automatically **If not:** Enter `__token__` as username and paste your TestPyPI token **Test installation:** ```bash pip install --index-url https://test.pypi.org/simple/ --no-deps marqeta-diva-mcp python -c "from marqeta_diva_mcp import __version__; print(__version__)" ``` **Expected:** `0.2.0` --- ### Step 6: Publish to PyPI (2 minutes) If TestPyPI worked, publish to production: ```bash # Upload to PyPI twine upload dist/* ``` **Success!** 🎉 Your package is now live at: https://pypi.org/project/marqeta-diva-mcp/ --- ### Step 7: Verify Installation (1 minute) ```bash # Test basic installation pip install marqeta-diva-mcp marqeta-diva-mcp --help # Test with RAG features pip install marqeta-diva-mcp[rag] ``` --- ### Step 8: Create GitHub Release (3 minutes) 1. Visit: https://github.com/zvika-finally/marqeta-diva-mcp/releases 2. Click "Create a new release" 3. Tag: `v0.2.0` 4. Title: `v0.2.0 - Initial Release` 5. Description: ```markdown ## 🎉 Initial Release First public release of Marqeta DiVA MCP Server! ### Features **Core Features:** - Transaction data access (authorizations, settlements, clearings, declines, loads) - Financial data (program balances, settlement balances, activity balances) - Card & user data with flexible filtering - Chargeback data access - Metadata tools (view discovery, schema inspection) - Export to JSON/CSV - Built-in rate limiting - Comprehensive error handling **Optional RAG Features:** - Local SQLite storage (bypasses MCP token limits) - Semantic search with AI embeddings - ChromaDB vector store integration - Offline analysis without API calls ### Installation ```bash # Basic features pip install marqeta-diva-mcp # With RAG features pip install marqeta-diva-mcp[rag] ``` ### Links - [PyPI Package](https://pypi.org/project/marqeta-diva-mcp/) - [Documentation](https://github.com/zvika-finally/marqeta-diva-mcp#readme) ``` 6. Click "Publish release" --- ## 🎉 Done! Your package is now published! Users can install it with: ```bash pip install marqeta-diva-mcp ``` --- ## Quick Command Reference (UV Style) ```bash # Build rm -rf dist/ build/ *.egg-info uv run pyproject-build # Upload to TestPyPI twine upload --repository testpypi dist/* # Upload to PyPI twine upload dist/* # Test install pip install --index-url https://test.pypi.org/simple/ --no-deps marqeta-diva-mcp pip install marqeta-diva-mcp ``` --- ## Troubleshooting **"Invalid username or password"** - Username must be `__token__` (not your PyPI username) - Password is your full API token (starts with `pypi-`) **"File already exists"** - You can't re-upload the same version - Bump version in `pyproject.toml` (0.2.0 → 0.2.1) - Rebuild and upload again **"Package name taken"** - Try a different name like `marqeta-diva-client` - Update in `pyproject.toml` and rebuild --- ## Future Updates For version 0.3.0 and beyond: ```bash # 1. Update version in pyproject.toml # 2. Update SERVER_VERSION in src/marqeta_diva_mcp/server.py # 3. Commit and tag git commit -m "Release v0.3.0" git tag v0.3.0 git push && git push --tags # 4. Build and upload rm -rf dist/ && uv run pyproject-build && twine upload dist/* ``` --- ## Need More Help? - **Detailed Guide:** [SETUP_CHECKLIST.md](SETUP_CHECKLIST.md) - **GitHub Setup:** [GITHUB_SETUP.md](GITHUB_SETUP.md) - **Publishing Details:** [PUBLISHING.md](PUBLISHING.md) Good luck! 🚀

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zvika-finally/marqeta-diva-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server