File size: 2,051 Bytes
0af822c
 
 
 
 
 
 
 
 
 
 
f86956c
 
 
 
 
 
 
 
 
 
 
0af822c
f86956c
0af822c
f86956c
0af822c
 
 
 
 
 
 
 
 
f86956c
 
 
 
 
 
 
 
 
 
 
0af822c
f86956c
 
 
 
 
 
 
 
 
 
 
0af822c
f86956c
 
 
 
 
 
 
 
2f5ad1c
 
0af822c
2f5ad1c
 
0af822c
2f5ad1c
 
 
0af822c
 
2f5ad1c
 
 
f86956c
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
---
title: AgentToolStore Registry
emoji: πŸ› οΈ
colorFrom: blue
colorTo: purple
sdk: docker
app_port: 7860
pinned: false
---

# πŸ› οΈ AgentToolStore Registry

<p align="center">
  <strong>The backbone of the agent tool ecosystem β€” powering discovery, publishing, and trust.</strong>
</p>

---

The registry server is what makes AgentToolStore more than just a local tool runner.
It is the **shared index** that turns a scattered collection of tools into a unified,
searchable, versioned ecosystem β€” the same role that PyPI plays for Python packages.

---

## πŸ“‘ API Endpoints

| Endpoint | Auth | Description |
|---|---|---|
| `GET /` | Public | Welcome message |
| `GET /health` | Public | Health check + tool count |
| `GET /index.json` | Public | Full tool index β€” what `toolstore update` pulls |
| `POST /auth/register` | Public | Create a developer account |
| `POST /auth/token` | Public | Obtain an API token (OAuth2 form) |
| `POST /publish` | Token | Publish a new tool (authenticated) |
| `DELETE /tools/{name}` | Token | Delete a tool (authenticated) |

---

## πŸ”§ Tech Stack

- **Framework:** FastAPI
- **Database:** SQLite (MVP) β†’ PostgreSQL (Production)
- **ORM:** SQLModel (SQLAlchemy + Pydantic)

---

## πŸš€ Quick Start (Local)

```bash
cd server
pip install -r requirements.txt
uvicorn app.main:app --reload
```

---

## 🏒 Private Registry

Point a ToolStore CLI at your own server for a fully private,
enterprise-governed tool catalog:

```json
{
  "registry_url": "https://tools.your-company.com/index.json"
}
```

---

## πŸ”— Point your CLI at this Space

```bash
toolstore config set registry_url https://YOUR_USERNAME-TOOLSTORE-REGISTRY.hf.space/index.json
toolstore update
```

> πŸ’Ύ **Persistent storage**: This Space uses an HF Storage Bucket mounted at
> `/data` β€” database and user data survive container restarts.

---

## πŸ“– Development Status

**Current Phase:** Alpha β€” core publishing flow and index generation.

See [`SERVER_SPEC.md`](SERVER_SPEC.md) for the detailed implementation plan.