knielsen404
a7a79b31c2
remove timestamp
2025-07-16 16:59:44 +02:00
knielsen404
e279b351ed
remove superfluous changes
2025-07-16 14:26:30 +02:00
knielsen404
094fd6e94e
add session id
2025-07-15 11:17:16 +02:00
knielsen404
b8fbb37935
add dataset field to check request
2025-07-15 11:00:36 +02:00
knielsen404
31b128950b
add changes
2025-07-11 17:49:00 +02:00
Hemang Sarkar
8af2f4463d
Update pyproject.toml
2025-07-09 16:19:01 +02:00
Kristian Nielsen
e0980d2661
add timestamps ( #66 )
2025-06-26 19:38:20 +02:00
Hemang
df33199343
Use tenacity.RetryError instead of genai.errors.ClientError for gemini guardrailing errors.
2025-06-19 13:22:22 +02:00
Hemang
70091b7f53
Version bump.
2025-06-19 11:16:01 +02:00
Hemang
491a279f6e
Update comments and function names.
2025-06-12 14:07:11 +02:00
Hemang
b6b738a9aa
Remove print statements.
2025-06-12 14:07:11 +02:00
Hemang
d59a96676f
Format diff.
2025-06-12 14:07:11 +02:00
Hemang
1825f543a7
Remove unnecessary methods.
2025-06-12 14:07:11 +02:00
Hemang
9f564a0401
Refactor the LLM provider routes to move common functionalities into a BaseInstrumentedResponse class and move provier specific implementations in the corresponding BaseProvider implementations.
2025-06-12 14:07:11 +02:00
Hemang
42a9c1cc30
Readability changes.
2025-06-05 11:58:12 +02:00
Hemang
cd6d6a50b0
Small changes related to constants and sorting order of imports.
2025-06-05 10:17:34 +02:00
Hemang
24d47c4585
Update gemini route to include streamGenerateContent in allowed endpoints response.
2025-06-04 15:04:56 +02:00
Hemang
f184c488e8
Bump to version 0.0.6
2025-06-04 14:23:22 +02:00
Hemang
da03dbe7c5
Move is_stateless_http_server metadata assignment to the Streamable route from the common metadata method.
2025-06-04 14:19:19 +02:00
Hemang
9053d89f25
Small cleanups in MCP related code.
2025-06-04 14:01:37 +02:00
Hemang Sarkar
f3b5e2d0b1
Update README.md
2025-06-04 13:31:47 +02:00
Hemang
05e09331e9
Address comments on PR and update README.
2025-06-04 11:46:35 +02:00
Hemang
cc3e96c20a
Clean up MCP tests and clients.
2025-06-04 11:46:35 +02:00
Hemang
f6ba31ab2e
Move util methods to MCPTransportBase.
2025-06-04 11:46:35 +02:00
Hemang
7ec13ad852
Create StreamableTransport class for MCP Streamable http transport. This subclasses MCPTransportBase.
2025-06-04 11:46:35 +02:00
Hemang
2e6f669923
Create SSETransport class for MCP SSE transport. This subclasses MCPTransportBase.
2025-06-04 11:46:35 +02:00
Hemang
7efd15e2a9
Move MCP related routes to the MCP directory and introduce the MCPTransportBase class.
2025-06-04 11:46:35 +02:00
Hemang
e8106776b4
Refactor stdio implementation to use McpSession class.
2025-06-04 11:46:35 +02:00
Hemang
6849fc7daa
Update McpSession class so that it can be used from both sse/streamable and stdio transports. Also update SseHeaderAttributes to McpAttributes so that it be can be used different MCP transports.
2025-06-04 11:46:35 +02:00
Hemang
96826fa06d
Cleanup some code in test_mcp.py
2025-05-27 23:11:57 +02:00
Hemang
bfb57029e6
Small cleanups.
2025-05-27 23:11:57 +02:00
Hemang
ab3fb98b67
Add blocking and logging related tests for MCP streamable HTTP route.
2025-05-27 23:11:57 +02:00
Hemang
115ae5f36b
Add tests for MCP streamable HTTP route for json/sse and stateless/stateful servers.
2025-05-27 23:11:57 +02:00
Hemang
34979ed18d
Move hook_tool_call and hook_tool_call_response to mcp_utils.py so that it can be used by both SSE and Streamable implementations.
2025-05-27 23:11:57 +02:00
Hemang
6e61a76168
Add blocking and logging of guardrails for MCP Streamable http route.
2025-05-27 23:11:57 +02:00
Hemang
20adc7804b
Accep the invariant api key in the header for sse gateway and use it for guardrailing and pushing to explorer.
2025-05-27 23:11:57 +02:00
Hemang
71e2ac9a06
Add implementation for MCP streamable GET, POST and DELETE endpoints without push to explorer or guardrailing.
2025-05-27 23:11:57 +02:00
Hemang
f8bf7be405
Add mcp_streamable route and refactor some common code between sse and streamable. Update tests for 400 errors in sse.
2025-05-27 23:11:57 +02:00
Hemang
5b68e80be5
Add MCP client and server name when calling fetch_guardrails_from_explorer in SSE.
2025-05-22 10:29:59 +02:00
Hemang
03817b005c
Update metadata in MCP SSE similar to what we do in MCP stdio.
2025-05-21 22:45:59 +02:00
Luca Beurer-Kellner
177d247a83
Update pyproject.toml
2025-05-21 16:46:43 +02:00
Luca Beurer-Kellner
04d0b70c48
use metadata client to fetch policies
2025-05-21 16:28:06 +02:00
Hemang
169eb066b9
Small cleanups in sse and stdio MCP implementation.
2025-05-21 15:58:22 +02:00
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