universal-mcp 0.1.2rc1__py3-none-any.whl → 0.1.3rc1__py3-none-any.whl

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.
@@ -1,207 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: universal-mcp
3
- Version: 0.1.2rc1
4
- Summary: Universal MCP acts as a middle ware for your API applications. It can store your credentials, authorize, enable disable apps on the fly and much more.
5
- Author-email: Manoj Bajaj <manojbajaj95@gmail.com>
6
- Requires-Python: >=3.11
7
- Requires-Dist: keyring>=25.6.0
8
- Requires-Dist: litellm>=1.30.7
9
- Requires-Dist: loguru>=0.7.3
10
- Requires-Dist: markitdown[all]>=0.1.1
11
- Requires-Dist: mcp>=1.5.0
12
- Requires-Dist: pydantic-settings>=2.8.1
13
- Requires-Dist: pydantic>=2.11.1
14
- Requires-Dist: pyyaml>=6.0.2
15
- Requires-Dist: typer>=0.15.2
16
- Provides-Extra: dev
17
- Requires-Dist: litellm>=1.30.7; extra == 'dev'
18
- Requires-Dist: pyright>=1.1.398; extra == 'dev'
19
- Requires-Dist: pytest-asyncio>=0.26.0; extra == 'dev'
20
- Requires-Dist: pytest>=8.3.5; extra == 'dev'
21
- Requires-Dist: ruff>=0.11.4; extra == 'dev'
22
- Provides-Extra: e2b
23
- Requires-Dist: e2b-code-interpreter>=1.2.0; extra == 'e2b'
24
- Provides-Extra: firecrawl
25
- Requires-Dist: firecrawl-py>=1.15.0; extra == 'firecrawl'
26
- Provides-Extra: playground
27
- Requires-Dist: fastapi[standard]>=0.115.12; extra == 'playground'
28
- Requires-Dist: langchain-anthropic>=0.3.10; extra == 'playground'
29
- Requires-Dist: langchain-mcp-adapters>=0.0.3; extra == 'playground'
30
- Requires-Dist: langgraph-checkpoint-sqlite>=2.0.6; extra == 'playground'
31
- Requires-Dist: langgraph>=0.3.24; extra == 'playground'
32
- Requires-Dist: python-dotenv>=1.0.1; extra == 'playground'
33
- Requires-Dist: streamlit>=1.44.1; extra == 'playground'
34
- Provides-Extra: serpapi
35
- Requires-Dist: google-search-results>=2.4.2; extra == 'serpapi'
36
- Description-Content-Type: text/markdown
37
-
38
- # Universal MCP
39
-
40
- Universal MCP acts as a middle ware for your API applications. It can store your credentials, authorize, enable disable apps on the fly and much more.
41
-
42
-
43
- ## 🌟 Features
44
-
45
- - **MCP (Model Context Protocol) Integration**: Seamlessly works with MCP server architecture
46
- - **Simplified API Integration**: Connect to services like GitHub, Google Calendar, Gmail, Reddit, Tavily, and more with minimal code
47
- - **Managed Authentication**: Built-in support for API keys and OAuth-based authentication flows
48
- - **Extensible Architecture**: Easily build and add new app integrations with minimal boilerplate
49
- - **Credential Management**: Flexible storage options for API credentials with memory and environment-based implementations
50
-
51
- ## 🔧 Installation
52
-
53
- Install AgentR using pip:
54
-
55
- ```bash
56
- pip install universal-mcp
57
- ```
58
-
59
- ## 🚀 Quick Start
60
-
61
- ### 1. Get an API Key
62
- Before using AgentR with services that require authorization (like GitHub, Gmail, etc.), you'll need an AgentR API key:
63
-
64
- Visit https://agentr.dev to create an account
65
- Generate an API key from your dashboard
66
- Set it as an environment variable or include it directly in your code:
67
-
68
- ```bash
69
- export AGENTR_API_KEY="your_api_key_here"
70
- ```
71
-
72
- ### 2. Create a basic server
73
-
74
- ```bash
75
- from agentr.server import TestServer
76
-
77
- # Define your applications list
78
- apps_list = [
79
- {
80
- "name": "tavily",
81
- "integration": {
82
- "name": "tavily_api_key",
83
- "type": "api_key",
84
- "store": {
85
- "type": "environment",
86
- }
87
- },
88
- },
89
- {
90
- "name": "zenquotes",
91
- "integration": None
92
- },
93
- {
94
- "name": "github",
95
- "integration": {
96
- "name": "github",
97
- "type": "agentr",
98
- }
99
- }
100
- ]
101
-
102
- # Create a server with these applications
103
- server = TestServer(name="My Agent Server", description="A server for my agent apps", apps_list=apps_list)
104
-
105
- # Run the server
106
- if __name__ == "__main__":
107
- server.run()
108
- ```
109
-
110
- ## Using Playground
111
-
112
- Start MCP Server
113
- ```bash
114
- universal_mcp run -t sse
115
- ```
116
-
117
- Start FastAPI app
118
- ```bash
119
- fastapi run src/playground
120
- ```
121
-
122
- Start Frontend
123
- ```bash
124
- streamlit run src/playground/streamlit.py
125
- ```
126
-
127
-
128
- ## 🧩 Available Applications
129
- AgentR comes with several pre-built applications:
130
-
131
- | Application | Description | Authentication Type |
132
- |-------------|-------------|---------------------|
133
- | GitHub | Star repositories and more | OAuth (AgentR) |
134
- | Google Calendar | Retrieve calendar events | OAuth (AgentR) |
135
- | Gmail | Send emails | OAuth (AgentR) |
136
- | Reddit | Access Reddit data | OAuth (AgentR) |
137
- | Resend | Send emails via Resend API | API Key |
138
- | Tavily | Web search capabilities | API Key |
139
- | ZenQuotes | Get inspirational quotes | None |
140
-
141
- > **Note**: More applications are coming soon! Stay tuned for updates to our application catalog.
142
-
143
- ## 🔐 Integration Types
144
- AgentR supports two primary integration types:
145
-
146
- ### 1. API Key Integration
147
- For services that authenticate via API keys:
148
- ```python
149
- {
150
- "name": "service_name",
151
- "integration": {
152
- "name": "service_api_key",
153
- "type": "api_key",
154
- "store": {
155
- "type": "environment", # or "memory"
156
- }
157
- }
158
- }
159
- ```
160
-
161
- ### 2. OAuth Integration (via AgentR)
162
- For services requiring OAuth flow:
163
- ```python
164
- {
165
- "name": "service_name",
166
- "integration": {
167
- "name": "service_name",
168
- "type": "agentr"
169
- }
170
- }
171
- ```
172
- When using OAuth integrations, users will be directed to authenticate with the service provider through a secure flow managed by AgentR.
173
-
174
- ## 🤖 CLI Usage
175
- AgentR includes a command-line interface for common operations:
176
-
177
- ```bash
178
- # Get version information
179
- agentr version
180
-
181
- # Generate API client from OpenAPI schema
182
-
183
- # Use the name of the API as the output filename (e.g., twitter, petstore, github)
184
- universal_mcp generate --schema petstore.json --output outputfilename
185
-
186
- # The tool will create src/universal_mcp/applications/petstore/ with app.py and README.md
187
-
188
- # Run the test server
189
- agentr run
190
-
191
- # Install AgentR for specific applications
192
- agentr install claude
193
- ```
194
-
195
- ## 📋 Requirements
196
-
197
- - Python 3.11+
198
- - Dependencies (automatically installed):
199
- - loguru >= 0.7.3
200
- - mcp >= 1.5.0
201
- - pyyaml >= 6.0.2
202
- - typer >= 0.15.2
203
-
204
-
205
- ## 📝 License
206
-
207
- This project is licensed under the MIT License.