Alibrown commited on
Commit
11e4667
Β·
verified Β·
1 Parent(s): 5724eea

Delete HF_README.md

Browse files
Files changed (1) hide show
  1. HF_README.md +0 -98
HF_README.md DELETED
@@ -1,98 +0,0 @@
1
- ---
2
- title: Universal MCP Hub
3
- emoji: 🐒
4
- colorFrom: red
5
- colorTo: yellow
6
- sdk: docker
7
- pinned: false
8
- license: apache-2.0
9
- short_description: Universal MCP Hub (Sandboxed)
10
- ---
11
-
12
- # Universal MCP Hub (Sandboxed)
13
-
14
- > For advanced use, have a look at [PyFundaments.md](PyFundaments.md) and the `docs/` folder.
15
-
16
- Universal MCP Server running in **paranoid mode** β€” built on [PyFundaments](https://github.com/VolkanSah/PyFundaments) and licensed under ESOL.
17
-
18
- The goal was simple: too many MCP servers out there with no sandboxing, hardcoded keys, and zero security thought. This one is different. No key = no tool = no crash. The Guardian (`main.py`) controls everything. `app/mcp.py` gets only what it needs, nothing more.
19
-
20
- - MCP_HUB Built with Claude (Anthropic) as a typing tool. Architecture, security decisions
21
- - Pyfundaments by Volkan Sah read [ESOL](ESOL)
22
-
23
- ---
24
-
25
- ## Setup
26
-
27
- 1. **Fork** this Space.
28
- 2. Enter your API keys as **Space Secrets** (Settings β†’ Variables and secrets).
29
- 3. The Space starts automatically β€” only tools with valid keys will be registered.
30
-
31
- ---
32
-
33
- ## Available Tools (Depending on Configured Keys)
34
-
35
- | Secret | Tool | Description |
36
- | :--- | :--- | :--- |
37
- | `ANTHROPIC_API_KEY` | `anthropic_complete` | Claude Models |
38
- | `GEMINI_API_KEY` | `gemini_complete` | Google Gemini Models |
39
- | `OPENROUTER_API_KEY` | `openrouter_complete` | 100+ Models via OpenRouter |
40
- | `HF_TOKEN` | `hf_inference` | HuggingFace Inference API |
41
- | `BRAVE_API_KEY` | `brave_search` | Web Search (independent index) |
42
- | `TAVILY_API_KEY` | `tavily_search` | AI-optimized Search |
43
- | *(Always Active)* | `list_active_tools` | Shows all currently active tools |
44
- | *(Always Active)* | `health_check` | System health check |
45
-
46
- ---
47
-
48
- ## MCP Client Configuration (SSE)
49
-
50
- To connect Claude Desktop or any MCP client to this hub:
51
-
52
- ```json
53
- {
54
- "mcpServers": {
55
- "pyfundaments-hub": {
56
- "url": "https://YOUR_USERNAME-universal-mcp-hub.hf.space/sse"
57
- }
58
- }
59
- }
60
- ```
61
-
62
- ---
63
-
64
- ## Architecture
65
-
66
- ```
67
- main.py ← Guardian: initializes all services, controls what app/ receives
68
- └── app/mcp.py ← Sandbox: registers only tools with valid keys
69
- β”œβ”€β”€ LLM tools (Anthropic, Gemini, OpenRouter, HuggingFace)
70
- β”œβ”€β”€ Search tools (Brave, Tavily)
71
- β”œβ”€β”€ DB tools (only if DATABASE_URL is set)
72
- └── System tools (always active)
73
- ```
74
-
75
- **The Guardian pattern:** `app/mcp.py` never reads `os.environ` directly.
76
- It receives a `fundaments` dict from `main.py` β€” and only what `main.py` decides to give it.
77
-
78
- ---
79
-
80
- ## Security Notes
81
-
82
- - All API keys loaded via HuggingFace Space Secrets (env vars) β€” never hardcoded
83
- - `list_active_tools` returns key **names** only, never values
84
- - DB tools are read-only by design (`SELECT` only, enforced at application level)
85
- - Direct execution of `app/mcp.py` is blocked by design
86
- - Built on PyFundaments β€” a security-first Python architecture for developers
87
-
88
- > PyFundaments is not perfect. But it's more secure than most of what runs in production.
89
-
90
- ---
91
-
92
- ## License
93
-
94
- Apache License 2.0 + [ESOL 1.1](https://github.com/VolkanSah/ESOL)
95
-
96
- ---
97
-
98
- *"I use AI as a tool, not as a replacement for thinking."* β€” Volkan KΓΌcΓΌkbudak