diff --git a/mcp/server.go b/mcp/server.go
index b6d7b10..b3ea43b 100644
--- a/mcp/server.go
+++ b/mcp/server.go
@@ -31,7 +31,7 @@
 }
 
 // AddTool registers a new tool with the server
-func (s *Server) AddTool(name, description string, inputSchema map[string]interface{}, handler func(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)) error {
+func (s *Server) AddTool(name, description string, inputSchema map[string]any, handler func(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error)) error {
 	if name == "" {
 		return fmt.Errorf("tool name cannot be empty")
 	}
diff --git a/mcp/server_test.go b/mcp/server_test.go
index a0073c3..c00d315 100644
--- a/mcp/server_test.go
+++ b/mcp/server_test.go
@@ -21,10 +21,10 @@
 	server := NewServer("test-server", "1.0.0")
 
 	// Test adding a valid tool
-	err := server.AddTool("test-tool", "A test tool", map[string]interface{}{
+	err := server.AddTool("test-tool", "A test tool", map[string]any{
 		"type": "object",
-		"properties": map[string]interface{}{
-			"input": map[string]interface{}{
+		"properties": map[string]any{
+			"input": map[string]any{
 				"type": "string",
 			},
 		},
@@ -35,12 +35,12 @@
 	assert.NoError(t, err)
 
 	// Test adding tool with empty name
-	err = server.AddTool("", "description", map[string]interface{}{}, nil)
+	err = server.AddTool("", "description", map[string]any{}, nil)
 	assert.Error(t, err)
 	assert.Contains(t, err.Error(), "tool name cannot be empty")
 
 	// Test adding tool with empty description
-	err = server.AddTool("name", "", map[string]interface{}{}, nil)
+	err = server.AddTool("name", "", map[string]any{}, nil)
 	assert.Error(t, err)
 	assert.Contains(t, err.Error(), "tool description cannot be empty")
 }
