Luca Beurer-Kellner
418c873e04
Update pyproject.toml
2025-05-21 10:05:48 +02:00
Luca Beurer-Kellner
c1112b91fc
use windows select ( #56 )
...
* use windows select
* factor out platform-specific stdin waiting
2025-05-21 09:43:00 +02:00
Luca Beurer-Kellner
2060f18b0a
Update pyproject.toml
2025-05-19 14:22:56 +02:00
Luca Beurer-Kellner
e18c6b5bdb
Add an option to add extra metadata that is pushed and passed to Guardrails during an MCP session ( #47 )
...
* use select() before readline
* support for setting static metadata for MCP sessions
* nest extra mcp metadata in metadata object
* unify session metadata
* extra metadata tests
* use empty object as parameters, if None
* list_tools as tool call
* offset indices in tests
* test: adjust addresses
* mcp: make error reporting configurable
* line logging
* log version
* verbose logging + loud exception failure
* add server and client name to policy get
* append trace even if not pushing
* port tools/list message support to SSE
* use python -m build
* adjust guardrail failure address
* support for blocking tools/list in SSE
* use error-based failure response format by default
* tools/list test
* don't list_tools in stdio connect
* flaky test: handle second possible result in anthropic streaming case
---------
Co-authored-by: knielsen404 <kristian@invariantlabs.ai >
2025-05-19 13:44:37 +02:00
Hemang
4dbb400620
Move invariant api key check to __main__.py so that the same check can work for both mcp and server commands.
2025-05-16 14:33:00 +05:30
Hemang
f33b2392f6
Fix the Dockerfle for gateway to copy correctly.
2025-05-16 14:33:00 +05:30
Hemang
780e5f6ee7
Skip test_generate_content_with_image for gemini. Getting 500.
2025-05-16 14:33:00 +05:30
Hemang
876eb44c78
Make MCP stdio gateway fully async. With sync and async mixed behaviour for running background tasks we were running into issues.
2025-05-16 14:33:00 +05:30
Hemang Sarkar
a6c1124076
Update test_mcp.py
2025-05-15 15:00:31 +05:30
Hemang Sarkar
0ffde69391
Fix test_mcp_sse_with_gateway_hybrid_guardrails so that we don't rely on order of annotations.
2025-05-15 15:00:31 +05:30
Hemang
a214837b1e
Add message to session store for MCP sse in post path before returning.
2025-05-14 15:44:52 +02:00
Hemang Sarkar
fefc22eea0
Update test_mcp.py to include the transport parameter in the hybrid guardrails test.
2025-05-14 15:32:05 +02:00
Hemang
e32ec74ed2
Fix paths to pyproject.toml and README in dockerfile.gateway. Also update context in publish-images.yml
2025-05-14 18:05:14 +05:30
Hemang
ed50670bef
Add MCP gateway tests with hybrid guardrails (both blocking and logging). Also refactor tests so that we can parameterize the transport type - stdio or sse.
2025-05-14 18:05:14 +05:30
Hemang
8eae198eb0
Add integration tests for MCP SSE via gateway with guardrails.
2025-05-14 14:21:48 +05:30
Hemang
e2e004b7b1
Move dockerfiles inside gateway/ and update main CLI script to be able to run build, up, down and logs on a local gateway server instance.
2025-05-14 14:21:48 +05:30
Hemang Sarkar
73de68e822
Update tests_ci.yml with a timeout at the job level.
2025-05-12 15:36:33 +02:00
Hemang
dbab86e0ac
Fix broken tests.
2025-05-09 12:17:14 +05:30
Hemang
edd9fd9a5c
When tool_call is blocked in MCP Post method, add the error message to a pending error messages list. Create two queues in the MCP SSE Get endpoint which correspond to the MCP server events and these pending error messages. These two queues are merged to return events back to the client.
2025-05-09 11:05:33 +05:30
Hemang
794aae0326
Add MCP guardrailing for SSE.
2025-05-08 20:40:28 +05:30
Hemang
40ec6d2db2
Add MCP SSE server proxying in gateway.
2025-05-08 14:11:22 +05:30
Hemang
132eedab0a
Update tests_ci.yml so that the CI run fails even when unit tests fail.
2025-05-07 02:03:06 +05:30
Hemang
d057aa5c37
Add httpx as unit test dependencies.
2025-05-07 01:27:13 +05:30
Hemang
1f6e2ed7fb
Update streaming in anthropic route to handle chunks with incomplete events. Introduce an sse_buffer which keeps track of the current incomplete event from the last processed chunk.
2025-05-07 01:08:15 +05:30
Hemang
aec7808e3e
Fix broken integration tests.
2025-05-07 01:08:15 +05:30
Hemang
dc9ac9c3c6
Fix broken unit tests.
2025-05-07 01:08:15 +05:30
Hemang
e64a977d87
Properly propagate the integrations test and unit test exit code.
2025-05-06 20:10:45 +05:30
Luca Beurer-Kellner
86ec75ba2d
use select() before readline ( #45 )
2025-05-06 16:07:50 +02:00
Hemang
88ba17a803
Move MCP testing stdio server and client into a separate folder.
2025-04-29 15:56:37 +05:30
Hemang
dbeb4bc660
Add blocking guardrails based test for MCP gateway.
2025-04-29 09:00:04 +02:00
Hemang
d877e5a1e6
Add logging guardrails based test for MCP gateway.
2025-04-29 09:00:04 +02:00
Hemang
d983b7431b
Add tests for MCP integration in gateway.
2025-04-29 09:00:04 +02:00
Hemang
61c12a4340
Version 0.0.4
2025-04-24 15:48:36 +02:00
Hemang
52f5359d36
Add MCP client and server names in trace metadata for Explorer.
2025-04-24 15:48:36 +02:00
Hemang
7287065940
Improve on request reads from byte by byte to line by line.
2025-04-24 15:48:36 +02:00
knielsen404
55874d552e
feat: append_and_push_trace uses configurable API URL
2025-04-23 13:08:57 +01:00
Kristian Nielsen
ed63a4b592
fix typo ( #42 )
2025-04-23 09:28:45 +01:00
Marco Milanta
da76fd516a
next version
2025-04-17 15:01:40 +02:00
Marco Milanta
12932787b2
fix: print breaks claude
...
remove print statment
2025-04-17 15:00:34 +02:00
Marco Milanta
20d1e0afd4
fix: print breaks claude
2025-04-17 14:59:59 +02:00
Hemang Sarkar
2b9785de11
Update README.md
2025-04-17 10:05:28 +02:00
Hemang
45d384b7a3
Update README for mcp.
2025-04-17 09:54:26 +02:00
Hemang
8a83133edf
Update the CLI script command.
2025-04-17 09:38:22 +02:00
Hemang
8cc72db6ba
Add PyPi publish action.
2025-04-17 07:36:41 +02:00
Hemang
e8deb8feda
Rename dataset-name flag for MCP to project-name and change CLI command to run mcp
2025-04-17 07:15:28 +02:00
Hemang
2c34205c4c
Fix asyncio and threading. Dedupe annotations before pushing. Add README.
2025-04-17 07:15:28 +02:00
Hemang
f871e24473
Remove invariant-ai from deps.
2025-04-17 07:15:28 +02:00
Hemang
66c6dcb8f9
Add mcp.py
2025-04-17 07:15:28 +02:00
Hemang
15210997a7
Add the invariant-gateway CLI script.
2025-04-17 07:15:28 +02:00
Hemang
5bf121bbda
Use pyproject.toml instead of requirements.txt and fix some broken tests.
2025-04-17 07:15:28 +02:00