all-in-mcp 0.1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,11 @@
1
+ # Python-generated files
2
+ __pycache__/
3
+ *.py[oc]
4
+ build/
5
+ dist/
6
+ wheels/
7
+ *.egg-info
8
+
9
+ # Virtual environments
10
+ .venv
11
+ downloads/**
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 isomo
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,206 @@
1
+ Metadata-Version: 2.4
2
+ Name: all-in-mcp
3
+ Version: 0.1.4
4
+ Summary: An MCP (Model Context Protocol) server providing daily-use utility functions and academic paper search capabilities
5
+ Project-URL: Homepage, https://github.com/jiahaoxiang2000/all-in-mcp
6
+ Project-URL: Repository, https://github.com/jiahaoxiang2000/all-in-mcp
7
+ Project-URL: Documentation, https://github.com/jiahaoxiang2000/all-in-mcp/tree/main/docs
8
+ Project-URL: Issues, https://github.com/jiahaoxiang2000/all-in-mcp/issues
9
+ Author-email: isomo <jiahaoxiang2000@gmail.com>
10
+ License: MIT
11
+ License-File: LICENSE
12
+ Keywords: academic,iacr,mcp,model-context-protocol,papers,utilities
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Intended Audience :: Science/Research
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Topic :: Scientific/Engineering
23
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
24
+ Classifier: Topic :: Text Processing :: General
25
+ Requires-Python: >=3.10
26
+ Requires-Dist: beautifulsoup4>=4.12.0
27
+ Requires-Dist: feedparser>=6.0.10
28
+ Requires-Dist: httpx>=0.24.0
29
+ Requires-Dist: mcp>=1.9.4
30
+ Requires-Dist: pypdf>=4.0.0
31
+ Requires-Dist: requests>=2.31.0
32
+ Provides-Extra: all
33
+ Requires-Dist: psutil>=5.9.0; extra == 'all'
34
+ Provides-Extra: dev
35
+ Requires-Dist: build>=1.0.0; extra == 'dev'
36
+ Requires-Dist: mypy>=1.5.0; extra == 'dev'
37
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
38
+ Requires-Dist: pytest-cov>=4.1.0; extra == 'dev'
39
+ Requires-Dist: pytest>=8.0.0; extra == 'dev'
40
+ Requires-Dist: ruff>=0.1.0; extra == 'dev'
41
+ Requires-Dist: twine>=4.0.0; extra == 'dev'
42
+ Provides-Extra: system
43
+ Requires-Dist: psutil>=5.9.0; extra == 'system'
44
+ Description-Content-Type: text/markdown
45
+
46
+ # All-in-MCP
47
+
48
+ An MCP (Model Context Protocol) server that provides daily-use utility functions, including academic paper search capabilities.
49
+
50
+ ## Features
51
+
52
+ ### Daily Utilities
53
+
54
+ - **Academic Research**: IACR ePrint Archive paper search, download, and reading
55
+
56
+ ### Paper Search Capabilities
57
+
58
+ - Search academic papers from IACR ePrint Archive
59
+ - Download PDF files
60
+ - Extract and read text content from papers
61
+ - Metadata extraction (authors, publication dates, abstracts)
62
+
63
+ ## Quick Start
64
+
65
+ ### Prerequisites
66
+
67
+ - Python 3.12 or higher
68
+ - UV package manager
69
+
70
+ ## Installation
71
+
72
+ ### Option 1: Install from PyPI (Recommended)
73
+
74
+ ```bash
75
+ pip install all-in-mcp
76
+ ```
77
+
78
+ ### Installation
79
+
80
+ 1. Clone this repository:
81
+
82
+ ```bash
83
+ git clone https://github.com/jiahaoxiang2000/all-in-mcp.git
84
+ cd all-in-mcp
85
+ ```
86
+
87
+ 2. Install with UV:
88
+
89
+ ```bash
90
+ uv sync
91
+ ```
92
+
93
+ ### Running the Server
94
+
95
+ After installation, you can run the MCP server directly:
96
+
97
+ ```bash
98
+ all-in-mcp
99
+ ```
100
+
101
+ Or if you installed from source with UV:
102
+
103
+ ```bash
104
+ uv run all-in-mcp
105
+ ```
106
+
107
+ ## Integration with MCP Clients
108
+
109
+ Add this server to your MCP client configuration. The server runs using stdio transport.
110
+ See detailed integration guide in [`docs/INTEGRATION.md`](docs/INTEGRATION.md).
111
+
112
+ Example configuration for Claude Desktop:
113
+
114
+ ```json
115
+ {
116
+ "mcpServers": {
117
+ "all-in-mcp": {
118
+ "command": "uv",
119
+ "args": ["run", "all-in-mcp"],
120
+ "cwd": "/path/to/all-in-mcp"
121
+ }
122
+ }
123
+ }
124
+ ```
125
+
126
+ ## Development
127
+
128
+ For development setup and contribution guidelines, see the [Development Guide](docs/development.md).
129
+
130
+ ### Quick Development Setup
131
+
132
+ ```bash
133
+ # Clone the repository
134
+ git clone https://github.com/jiahaoxiang2000/all-in-mcp.git
135
+ cd all-in-mcp
136
+
137
+ # Install with development dependencies
138
+ uv sync --extra dev
139
+
140
+ # Run tests
141
+ uv run pytest
142
+
143
+ # Run linting
144
+ uv run ruff check src/
145
+ uv run ruff format src/
146
+
147
+ # Type checking
148
+ uv run mypy src/all_in_mcp
149
+ ```
150
+
151
+ ### Releases
152
+
153
+ This project uses the existing release helper script for creating releases:
154
+
155
+ #### Using the Release Script
156
+
157
+ Use the release helper script to create a new version:
158
+
159
+ ```bash
160
+ python scripts/release.py 0.1.2
161
+ ```
162
+
163
+ This script will:
164
+
165
+ 1. Update the version in `pyproject.toml`
166
+ 2. Create a git commit
167
+ 3. Create a git tag
168
+ 4. Push the changes to trigger CI/CD
169
+
170
+ #### Manual Process
171
+
172
+ Alternatively, you can manually:
173
+
174
+ 1. **Update version** in `pyproject.toml`:
175
+
176
+ ```toml
177
+ version = "0.1.2" # Change this
178
+ ```
179
+
180
+ 2. **Commit and tag**:
181
+
182
+ ```bash
183
+ git add pyproject.toml
184
+ git commit -m "Bump version to 0.1.2"
185
+ git tag v0.1.2
186
+ git push --follow-tags
187
+ ```
188
+
189
+ ### Debugging
190
+
191
+ For debugging, use the [MCP Inspector](https://github.com/modelcontextprotocol/inspector):
192
+
193
+ ```bash
194
+ npx @modelcontextprotocol/inspector uv --directory /path/to/all-in-mcp run all-in-mcp
195
+ ```
196
+
197
+ ## Documentation
198
+
199
+ Complete documentation is available in the [`docs/`](docs/) directory:
200
+
201
+ - **[API Reference](docs/api.md)** - Complete API documentation
202
+ - **[Installation Guide](docs/installation.md)** - Setup instructions
203
+ - **[IACR Integration](docs/iacr.md)** - Academic paper search details
204
+ - **[Development Guide](docs/development.md)** - Contributing guidelines
205
+ - **[PyPI Setup Guide](docs/pypi-setup.md)** - Publishing configuration
206
+ - **[Examples](docs/examples.md)** - Usage examples
@@ -0,0 +1,161 @@
1
+ # All-in-MCP
2
+
3
+ An MCP (Model Context Protocol) server that provides daily-use utility functions, including academic paper search capabilities.
4
+
5
+ ## Features
6
+
7
+ ### Daily Utilities
8
+
9
+ - **Academic Research**: IACR ePrint Archive paper search, download, and reading
10
+
11
+ ### Paper Search Capabilities
12
+
13
+ - Search academic papers from IACR ePrint Archive
14
+ - Download PDF files
15
+ - Extract and read text content from papers
16
+ - Metadata extraction (authors, publication dates, abstracts)
17
+
18
+ ## Quick Start
19
+
20
+ ### Prerequisites
21
+
22
+ - Python 3.12 or higher
23
+ - UV package manager
24
+
25
+ ## Installation
26
+
27
+ ### Option 1: Install from PyPI (Recommended)
28
+
29
+ ```bash
30
+ pip install all-in-mcp
31
+ ```
32
+
33
+ ### Installation
34
+
35
+ 1. Clone this repository:
36
+
37
+ ```bash
38
+ git clone https://github.com/jiahaoxiang2000/all-in-mcp.git
39
+ cd all-in-mcp
40
+ ```
41
+
42
+ 2. Install with UV:
43
+
44
+ ```bash
45
+ uv sync
46
+ ```
47
+
48
+ ### Running the Server
49
+
50
+ After installation, you can run the MCP server directly:
51
+
52
+ ```bash
53
+ all-in-mcp
54
+ ```
55
+
56
+ Or if you installed from source with UV:
57
+
58
+ ```bash
59
+ uv run all-in-mcp
60
+ ```
61
+
62
+ ## Integration with MCP Clients
63
+
64
+ Add this server to your MCP client configuration. The server runs using stdio transport.
65
+ See detailed integration guide in [`docs/INTEGRATION.md`](docs/INTEGRATION.md).
66
+
67
+ Example configuration for Claude Desktop:
68
+
69
+ ```json
70
+ {
71
+ "mcpServers": {
72
+ "all-in-mcp": {
73
+ "command": "uv",
74
+ "args": ["run", "all-in-mcp"],
75
+ "cwd": "/path/to/all-in-mcp"
76
+ }
77
+ }
78
+ }
79
+ ```
80
+
81
+ ## Development
82
+
83
+ For development setup and contribution guidelines, see the [Development Guide](docs/development.md).
84
+
85
+ ### Quick Development Setup
86
+
87
+ ```bash
88
+ # Clone the repository
89
+ git clone https://github.com/jiahaoxiang2000/all-in-mcp.git
90
+ cd all-in-mcp
91
+
92
+ # Install with development dependencies
93
+ uv sync --extra dev
94
+
95
+ # Run tests
96
+ uv run pytest
97
+
98
+ # Run linting
99
+ uv run ruff check src/
100
+ uv run ruff format src/
101
+
102
+ # Type checking
103
+ uv run mypy src/all_in_mcp
104
+ ```
105
+
106
+ ### Releases
107
+
108
+ This project uses the existing release helper script for creating releases:
109
+
110
+ #### Using the Release Script
111
+
112
+ Use the release helper script to create a new version:
113
+
114
+ ```bash
115
+ python scripts/release.py 0.1.2
116
+ ```
117
+
118
+ This script will:
119
+
120
+ 1. Update the version in `pyproject.toml`
121
+ 2. Create a git commit
122
+ 3. Create a git tag
123
+ 4. Push the changes to trigger CI/CD
124
+
125
+ #### Manual Process
126
+
127
+ Alternatively, you can manually:
128
+
129
+ 1. **Update version** in `pyproject.toml`:
130
+
131
+ ```toml
132
+ version = "0.1.2" # Change this
133
+ ```
134
+
135
+ 2. **Commit and tag**:
136
+
137
+ ```bash
138
+ git add pyproject.toml
139
+ git commit -m "Bump version to 0.1.2"
140
+ git tag v0.1.2
141
+ git push --follow-tags
142
+ ```
143
+
144
+ ### Debugging
145
+
146
+ For debugging, use the [MCP Inspector](https://github.com/modelcontextprotocol/inspector):
147
+
148
+ ```bash
149
+ npx @modelcontextprotocol/inspector uv --directory /path/to/all-in-mcp run all-in-mcp
150
+ ```
151
+
152
+ ## Documentation
153
+
154
+ Complete documentation is available in the [`docs/`](docs/) directory:
155
+
156
+ - **[API Reference](docs/api.md)** - Complete API documentation
157
+ - **[Installation Guide](docs/installation.md)** - Setup instructions
158
+ - **[IACR Integration](docs/iacr.md)** - Academic paper search details
159
+ - **[Development Guide](docs/development.md)** - Contributing guidelines
160
+ - **[PyPI Setup Guide](docs/pypi-setup.md)** - Publishing configuration
161
+ - **[Examples](docs/examples.md)** - Usage examples
@@ -0,0 +1,155 @@
1
+ # API Reference
2
+
3
+ Complete API documentation for all tools available in the All-in-MCP server.
4
+
5
+ ## Academic Paper Search
6
+
7
+ ### search-iacr-papers
8
+
9
+ Search academic papers from IACR ePrint Archive.
10
+
11
+ **Parameters:**
12
+
13
+ - `query` (string, required): Search query
14
+ - `max_results` (integer, optional): Maximum number of results (default: 10)
15
+
16
+ **Returns:**
17
+
18
+ - List of papers with metadata (title, authors, abstract, URLs)
19
+
20
+ **Example:**
21
+
22
+ ```json
23
+ {
24
+ "name": "search-iacr-papers",
25
+ "arguments": {
26
+ "query": "zero knowledge",
27
+ "max_results": 5
28
+ }
29
+ }
30
+ ```
31
+
32
+ **Response:**
33
+
34
+ ```
35
+ Found 5 IACR papers for query 'zero knowledge':
36
+
37
+ 1. **Paper Title**
38
+ - Paper ID: 2025/1234
39
+ - Authors: Author Names
40
+ - URL: https://eprint.iacr.org/2025/1234
41
+ - Abstract: Paper abstract...
42
+ ```
43
+
44
+ ### download-iacr-paper
45
+
46
+ Download PDF of an IACR ePrint paper.
47
+
48
+ **Parameters:**
49
+
50
+ - `paper_id` (string, required): IACR paper ID (e.g., "2023/1234")
51
+ - `save_path` (string, optional): Directory to save PDF (default: "./downloads")
52
+
53
+ **Returns:**
54
+
55
+ - Path to downloaded PDF file
56
+
57
+ **Example:**
58
+
59
+ ```json
60
+ {
61
+ "name": "download-iacr-paper",
62
+ "arguments": {
63
+ "paper_id": "2023/1234",
64
+ "save_path": "./downloads"
65
+ }
66
+ }
67
+ ```
68
+
69
+ **Response:**
70
+
71
+ ```
72
+ PDF downloaded successfully to: ./downloads/iacr_2023_1234.pdf
73
+ ```
74
+
75
+ ### read-iacr-paper
76
+
77
+ Read and extract text content from an IACR ePrint paper PDF.
78
+
79
+ **Parameters:**
80
+
81
+ - `paper_id` (string, required): IACR paper ID (e.g., "2023/1234")
82
+ - `save_path` (string, optional): Directory where PDF is saved (default: "./downloads")
83
+
84
+ **Returns:**
85
+
86
+ - Extracted text content from the PDF
87
+
88
+ **Example:**
89
+
90
+ ```json
91
+ {
92
+ "name": "read-iacr-paper",
93
+ "arguments": {
94
+ "paper_id": "2023/1234",
95
+ "save_path": "./downloads"
96
+ }
97
+ }
98
+ ```
99
+
100
+ **Response:**
101
+
102
+ ```
103
+ Title: Paper Title
104
+ Authors: Author Names
105
+ Published Date: 2023-XX-XX
106
+ URL: https://eprint.iacr.org/2023/1234
107
+ ...
108
+ [Full extracted text content]
109
+ ```
110
+
111
+ ## Error Handling
112
+
113
+ All tools return error messages in case of failures:
114
+
115
+ **Common Error Types:**
116
+
117
+ - Invalid parameters
118
+ - Network connectivity issues
119
+ - File system errors
120
+ - API rate limiting
121
+ - Paper not found
122
+
123
+ **Error Response Format:**
124
+
125
+ ```
126
+ Error executing [tool-name]: [error description]
127
+ ```
128
+
129
+ ## Rate Limiting
130
+
131
+ The server implements reasonable rate limiting to avoid overwhelming academic paper sources:
132
+
133
+ - IACR ePrint Archive: Respectful crawling with delays
134
+ - PDF downloads: Sequential processing to avoid server overload
135
+
136
+ ## Data Formats
137
+
138
+ ### Paper Object
139
+
140
+ Papers are returned with the following structure:
141
+
142
+ ```json
143
+ {
144
+ "paper_id": "2023/1234",
145
+ "title": "Paper Title",
146
+ "authors": ["Author 1", "Author 2"],
147
+ "abstract": "Paper abstract text...",
148
+ "url": "https://eprint.iacr.org/2023/1234",
149
+ "pdf_url": "https://eprint.iacr.org/2023/1234.pdf",
150
+ "published_date": "2023-XX-XX",
151
+ "source": "iacr",
152
+ "categories": ["cryptography"],
153
+ "keywords": ["keyword1", "keyword2"]
154
+ }
155
+ ```
@@ -0,0 +1,71 @@
1
+ # Configuration Guide
2
+
3
+ This guide covers configuration options for the All-in-MCP server.
4
+
5
+ ## Environment Variables
6
+
7
+ ```bash
8
+ # Download settings
9
+ DEFAULT_DOWNLOAD_DIR="./downloads"
10
+
11
+ # IACR settings
12
+ IACR_BASE_URL="https://eprint.iacr.org"
13
+ IACR_MAX_RETRIES=3
14
+ IACR_TIMEOUT=30
15
+
16
+ # Logging
17
+ LOG_LEVEL="INFO"
18
+ ```
19
+
20
+ ## MCP Client Integration
21
+
22
+ ### Claude Desktop Integration
23
+
24
+ Add to your Claude Desktop configuration file:
25
+
26
+ **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
27
+ **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
28
+
29
+ ```json
30
+ {
31
+ "mcpServers": {
32
+ "all-in-mcp": {
33
+ "command": "uv",
34
+ "args": ["run", "--directory", "/path/to/all-in-mcp", "all-in-mcp"],
35
+ "env": {
36
+ "LOG_LEVEL": "INFO",
37
+ "DEFAULT_DOWNLOAD_DIR": "/path/to/downloads"
38
+ }
39
+ }
40
+ }
41
+ }
42
+ ```
43
+
44
+ ## IACR Configuration
45
+
46
+ The IACR platform can be configured with these environment variables:
47
+
48
+ ```bash
49
+ IACR_BASE_URL="https://eprint.iacr.org"
50
+ IACR_MAX_RETRIES=3
51
+ IACR_TIMEOUT=30
52
+ ```
53
+
54
+ ## Troubleshooting
55
+
56
+ ### Common Configuration Issues
57
+
58
+ **Permission Errors**:
59
+
60
+ - Check download directory permissions
61
+ - Verify user has write access
62
+
63
+ **Network Issues**:
64
+
65
+ - Verify proxy settings
66
+ - Check firewall rules
67
+
68
+ **Performance Issues**:
69
+
70
+ - Adjust timeout values
71
+ - Check resource limits