diff --git a/src/AnthropicClient/Models/AnthropicFunction.cs b/src/AnthropicClient/Models/AnthropicFunction.cs
new file mode 100644
index 0000000..c3143a3
--- /dev/null
+++ b/src/AnthropicClient/Models/AnthropicFunction.cs
@@ -0,0 +1,30 @@
+using System.Reflection;
+
+namespace AnthropicClient.Models;
+
+///
+/// Represents a function that can be provided as a tool.
+///
+public class AnthropicFunction
+{
+ ///
+ /// Gets the method of the function.
+ ///
+ public MethodInfo Method { get; }
+
+ ///
+ /// Gets the instance on which the method is invoked.
+ ///
+ public object? Instance { get; }
+
+ internal AnthropicFunction(MethodInfo method)
+ {
+ Method = method;
+ }
+
+ internal AnthropicFunction(MethodInfo method, object? instance)
+ {
+ Method = method;
+ Instance = instance;
+ }
+}
\ No newline at end of file