MCP (Model Context Protocol) server for simexp web content extraction and archiving
Project description
SimExp MCP
An MCP (Model Context Protocol) server that exposes all SimExp functionality for use with Claude and other AI agents.
Installation
Install from PyPI:
pip install simexp-mcp
Or install with development dependencies:
pip install simexp-mcp[dev]
Quick Start
Start the MCP server:
simexp-mcp
The server will start listening for MCP protocol connections.
Features
Session Management Tools
- simexp_session_start - Start a new session with optional file/AI/issue/repo parameters
- simexp_session_list - List all sessions
- simexp_session_info - Show current session & directory context
- simexp_session_clear - Clear active session
- simexp_session_write - Write message to session note
- simexp_session_read - Read session note content
- simexp_session_add - Add file to session note
- simexp_session_title - Set session note title
- simexp_session_open - Open session note in browser
- simexp_session_url - Print session note URL
Collaboration Tools
- simexp_session_collab - Share with Assembly (♠, 🌿, 🎸, 🧵)
- simexp_session_collab_add - Add collaborator by email
- simexp_session_collab_list - List all collaborators
- simexp_session_publish - Publish note (get public URL)
Reflection & Wisdom Tools
- simexp_session_reflect - Open editor for reflection notes
- simexp_session_observe_pattern - Record an observed pattern
- simexp_session_extract_wisdom - Extract and record wisdom
- simexp_session_complete - Complete session with ceremony
Core Extraction Tools
- simexp_init - Initialize session with browser authentication
- simexp_extract - Extract content from URL
- simexp_write - Write content to Simplenote
- simexp_read - Read content from Simplenote
- simexp_archive - Archive content
- simexp_fetch - Fetch using Simfetcher capabilities
- simexp_session_browser - Launch browser for authentication
Authentication
SimExp MCP requires Simplenote credentials. When you first use the simexp_init tool, it will:
- Detect that you don't have an active session
- Launch your browser to Simplenote login page
- Prompt you to log in manually
- Persist the session for subsequent tool calls
Once authenticated, all subsequent tools can access your Simplenote data.
Architecture
Package Structure
simexp-mcp/
├── simexp_mcp/
│ ├── __init__.py # Package initialization
│ ├── server.py # MCP server and tool handlers
│ └── tools.py # Tool implementations
├── tests/ # Test suite
├── pyproject.toml # Modern Python packaging
├── Makefile # Build automation
└── release.sh # Release automation
Main Components
server.py - MCP protocol server that:
- Handles all MCP protocol messages
- Routes tool calls to appropriate handlers
- Manages resource and prompt endpoints
tools.py - All tool implementations that:
- Wrap SimExp CLI commands
- Provide user-friendly MCP interfaces
- Handle input validation and error reporting
Development
Install for Development
cd simexp-mcp
pip install -e ".[dev]"
Run Tests
pytest
Build Distribution
make clean
make build
Release Workflow
# Full test release
./release.sh
# Or use Makefile
make test-release # Test PyPI
make upload # Production PyPI
Version Management
Version 0.1.0 and above. See release.sh or Makefile for automated version bumping:
make bump # Auto-increment patch version
./release.sh # Interactive release with all steps
Configuration
SimExp MCP uses the parent simexp package configuration. See the main SimExp documentation for configuration details.
Troubleshooting
"simexp_init must be called first"
The MCP server requires an active Simplenote session. Call simexp_init to authenticate:
→ simexp_init
← Opens browser for Simplenote login
"Cannot find module mcp"
Ensure the mcp package is installed:
pip install mcp>=1.0.0
Tests failing
Ensure all dependencies are installed and Python 3.10+ is available:
pip install -e ".[dev]"
python --version # Should be 3.10+
Contributing
Contributions welcome! Please ensure:
- All tests pass:
pytest - Code is formatted:
black . - Type hints are included
License
MIT License - see LICENSE file for details
Links
- Main Package: SimExp on GitHub
- Issue Tracking: SimExp Issues
- PyPI: simexp-mcp on PyPI
Support
For issues, feature requests, or questions, please open an issue on the main SimExp repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simexp_mcp-0.1.2.tar.gz.
File metadata
- Download URL: simexp_mcp-0.1.2.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f75c9df919449b21b9a18f50c6225bfcf54512f9a7c3874bd7aab9054b0d7ec4
|
|
| MD5 |
af2602db176da5555eadc58aa7929f3e
|
|
| BLAKE2b-256 |
6206d3b2a7975794f7f5b3b1dedca5d77b10d86c9a88bdd07a81566202e75134
|
File details
Details for the file simexp_mcp-0.1.2-py3-none-any.whl.
File metadata
- Download URL: simexp_mcp-0.1.2-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4efefa71ee5348b9d92d37954b44d40c4bf868465e9424aed01c69e4595b0bbc
|
|
| MD5 |
bf529849bfbed3248ad23efc936267ed
|
|
| BLAKE2b-256 |
7a9b252a23656f4dceeda40ffb51dbbe0d0400ac7ee202593a0c1e3bdf9c3c1d
|