Skip to content

Add comprehensive onboarding documentation and configuration management#1

Open
tqvdang wants to merge 5 commits into
mainfrom
feat/eng-174-implement-list-change
Open

Add comprehensive onboarding documentation and configuration management#1
tqvdang wants to merge 5 commits into
mainfrom
feat/eng-174-implement-list-change

Conversation

@tqvdang
Copy link
Copy Markdown
Collaborator

@tqvdang tqvdang commented Oct 3, 2025

Summary

Adds comprehensive developer onboarding documentation and runtime configuration management to improve the demo server's usability and accessibility.

Changes

Documentation

  • Add detailed README with 5-step Quick Start guide for new developers
  • Add mock provider support for immediate testing without API keys
  • Add uv run mcp install instructions for Claude Desktop setup (recommended)
  • Add manual Claude Desktop configuration (alternative method)
  • Add MCP Inspector testing guide
  • Add troubleshooting section with common issues and solutions
  • Add PayMCP library update instructions (local vs published versions)

Configuration Management

  • Add .env.example template for environment variables
  • Add environment variable substitution in providers.json
  • Add get_config tool to inspect current configuration
  • Add switch_payment_config tool for runtime provider/flow switching

Payment Features

  • Add support for multiple payment flows (elicitation, two_step, progress, list_change)
  • Add support for multiple payment providers (Mock, Stripe, PayPal, Walleot, Square)
  • Add mock provider for testing without real payment credentials

Code Cleanup

  • Remove test_session_restoration.py (moved to centralized paymcp-flow-tester)
  • Update gitignore patterns for Python-specific files

Testing

Tested with:

  • MCP Inspector - tool listing and execution
  • Mock provider - payment flow verification
  • Multiple payment flows - elicitation, two_step, progress, list_change
  • Configuration switching - provider and flow changes at runtime
  • uv run mcp install - Claude Desktop integration

Breaking Changes

None - fully backward compatible.

- Add dual session storage (provider:payment_id + fallback keys)
- Implement automatic session restoration in elicitation flow
- Handle client timeouts during PayPal approval process
- Add connection timeout configuration (10 minutes)
- Update README with session restoration documentation
- Add providers.json for runtime configuration switching
- Remove unnecessary debug/session fix files
- Add list_sessions_by_provider method to session storage interface
- Implement active payment discovery in _check_for_completed_payments
- Check all pending payments on tool invocation regardless of session ID
- Auto-execute tools when payments completed externally
- Solves reconnection issue where new session IDs prevent recovery
- Add detailed README with 5-step Quick Start guide
- Add mock provider support for testing without API keys
- Add .env.example template for environment variables
- Add configuration loading with environment variable substitution
- Add multiple payment flow support (elicitation, two_step, progress, list_change)
- Add uv run mcp install instructions for Claude Desktop setup
- Add MCP Inspector testing guide
- Add troubleshooting section with common issues
- Add PayMCP library update instructions (local vs published)
- Add support for multiple payment providers (Mock, Stripe, PayPal, Walleot, Square)
- Add get_config and switch_payment_config tools
- Update gitignore patterns for Python
- Remove test_session_restoration.py (moved to paymcp-flow-tester)
Changes:
- Update providers.json: list_change -> dynamic_tools
- Update server.py PaymentFlow enum references
- Update README.md documentation with new flow name

Aligns with paymcp library rename of LIST_CHANGE to DYNAMIC_TOOLS flow.
All functionality remains the same, only naming has changed for clarity.
@tqvdang tqvdang force-pushed the feat/eng-174-implement-list-change branch from ce729a8 to 4749c64 Compare December 4, 2025 07:23
- Add resubmit to flow_map with PaymentFlow.RESUBMIT
- Add resubmit to availableFlows in providers.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant