ModelEngine-Group / ModelEngine-Group/nexent
[Improvement] Add trust-boundary restrictions for API-to-MCP imported services
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 5.9k
- Forks
- 731
- Avg merge
- 19h 34m
- Merged PRs (30d)
- 172
Description
Improvement Description
The current API-to-MCP flow lets an authenticated tenant user import an OpenAPI definition / service target and then have the backend perform outbound requests to that imported target.
In local validation, registering a service/tool that pointed to a local HTTP listener caused the backend to send a real request to that listener. That means the current design already supports arbitrary backend egress to caller-controlled targets.
Feature-wise this is useful, but from a trust-boundary perspective it would help to define what targets are intentionally allowed.
Proposed Solution
Before adding more API-to-MCP functionality, it would be helpful to align on a policy for imported service targets, for example:
- whether API import should be limited to admin-level users;
- whether loopback, private-network, link-local, metadata, or cluster-internal targets should be denied by default;
- whether an allowlist / explicit opt-in configuration should be added for trusted internal APIs.
Additional Information
This is related to the feature track in #2187 / #2765, but it is narrower: it is specifically about the trust boundary for imported service targets, not about the API-to-MCP feature itself.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the API-to-MCP import and service/tool registration flow that performs outbound requests. Review related feature issues #2187 and #2765, then identify where imported targets are accepted and requests are dispatched. Done requires a decided trust-boundary policy and corresponding implementation, but this issue names no files, tests, or acceptance criteria.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- openapi, python
- Domain
- api, backend, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100