refactor: Decouple MCP server from direct DB access

Replace direct EF Core/DbContext usage in MCP tools with HTTP calls
to the CutList.Web REST API via new ApiClient. Removes CutList.Web
project reference from MCP, adds Microsoft.Extensions.Http instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-05 16:54:05 -05:00
parent 17f16901ef
commit 177affabf0
4 changed files with 574 additions and 645 deletions

View File

@@ -1,14 +1,15 @@
using CutList.Web.Data;
using Microsoft.EntityFrameworkCore;
using CutList.Mcp;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using ModelContextProtocol.Server;
var builder = Host.CreateApplicationBuilder(args);
// Add DbContext for inventory tools
builder.Services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=CutListDb;Trusted_Connection=True;MultipleActiveResultSets=true"));
// Register HttpClient for API calls to CutList.Web
builder.Services.AddHttpClient<ApiClient>(client =>
{
client.BaseAddress = new Uri("http://localhost:5009");
});
builder.Services
.AddMcpServer()