diff --git a/tools/tool.go b/tools/tool.go
new file mode 100644
index 0000000..c99fa56
--- /dev/null
+++ b/tools/tool.go
@@ -0,0 +1,44 @@
+package tools
+
+import (
+	"github.com/invopop/jsonschema"
+)
+
+type Tool interface {
+	Name() string
+	Description() string
+	InputSchema() *jsonschema.Schema
+	Call(inp string) (string, error)
+}
+
+type Registry interface {
+	All() []Tool
+	Add(tool Tool)
+	Get(name string) Tool
+}
+
+type InMemoryRegistry struct {
+	tools map[string]Tool
+}
+
+func NewInMemoryRegistry() *InMemoryRegistry {
+	return &InMemoryRegistry{
+		make(map[string]Tool),
+	}
+}
+
+func (r *InMemoryRegistry) Add(tool Tool) {
+	r.tools[tool.Name()] = tool
+}
+
+func (r *InMemoryRegistry) All() []Tool {
+	var ret []Tool
+	for _, t := range r.tools {
+		ret = append(ret, t)
+	}
+	return ret
+}
+
+func (r *InMemoryRegistry) Get(name string) Tool {
+	return r.tools[name]
+}
