Skip to content

[feature] add the code for mcp-gateway #1

@hsluoyz

Description

@hsluoyz

It is a Golang HTTP gateway, it uses Beego 1.x as the HTTP web framework. it has middleware system to support HTTP middleware to be stacked in this mcp-gateway.

Casbin should be one HTTP authorization middleware

we should also support the HTTP middleware of OAuth authentication. because MCP recommends to use OAuth as authentication. After OAuth authentication middleware, the HTTP request has be identified as a user. and then we can use the Casbin authorization middleware to do enforcement and check permission.

need to have source code, tests, and CI scripts (with semantic-release to publish to GitHub releases)

in go.mod, go version should use 1.21.0, casbin version should use latest v3.4.1

the default beego backend port is 9000

need to have frontend support. the frontend code is based on React + Tailwind CSS + shadcn/ui, the code is in the /web folder.

the frontend code dev mode can run at port 8001. if frontend code is compiled into static files, the backend port 9000 will also serve the frontend static files. so accessing port 9000 will have both backend APIs and frontend files and it will show web pages normally in browser

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions