Skip to content

Commit 9da7daa

Browse files
committed
Add bearer token input for testing, Origin header
1 parent d9b947a commit 9da7daa

File tree

2 files changed

+19
-6
lines changed

2 files changed

+19
-6
lines changed

mcp_testing/http/tester.py

+13-4
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
class MCPHttpTester:
1818
"""Class to test an MCP HTTP server implementation."""
1919

20-
def __init__(self, url, debug=False):
20+
def __init__(self, url, debug=False, bearer_token = None):
2121
"""
2222
Initialize the tester with the server URL.
2323
@@ -36,16 +36,25 @@ def __init__(self, url, debug=False):
3636
# Session information
3737
self.session_id = None
3838
self.initialized = False
39+
self.bearer_token = bearer_token
3940

4041
# Protocol information
4142
self.protocol_version = "2025-03-26"
4243

4344
# Create a persistent session for all requests
4445
self.request_session = requests.Session()
45-
self.request_session.headers.update({
46+
# Common headers
47+
headers = {
4648
"Content-Type": "application/json",
49+
"Origin": "http://localhost",
4750
"Accept": "application/json, text/event-stream"
48-
})
51+
}
52+
53+
# Add Authorization header only if bearer_token is provided
54+
if self.bearer_token is not None:
55+
headers["Authorization"] = f"Bearer {self.bearer_token}"
56+
57+
self.request_session.headers.update(headers)
4958

5059
self.log(f"MCP HTTP Tester initialized for {url}")
5160
self.log(f"Host: {self.host}, Path: {self.path}")
@@ -628,4 +637,4 @@ def run_all_tests(self):
628637
print(f"Error during test execution: {str(e)}")
629638
import traceback
630639
traceback.print_exc()
631-
return False
640+
return False

mcp_testing/scripts/http_test.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ def main():
3434
default="2025-03-26",
3535
help="Protocol version to use (default: 2025-03-26)"
3636
)
37+
parser.add_argument(
38+
"--bearer-token",
39+
help="Protocol version to use (default: 2025-03-26)"
40+
)
3741
parser.add_argument(
3842
"--debug",
3943
action="store_true",
@@ -71,7 +75,7 @@ def main():
7175
return 1
7276

7377
# Run the HTTP tests
74-
tester = MCPHttpTester(args.server_url, args.debug)
78+
tester = MCPHttpTester(args.server_url, args.debug, args.bearer_token)
7579
tester.protocol_version = args.protocol_version
7680

7781
success = tester.run_all_tests()
@@ -103,4 +107,4 @@ def main():
103107
return 1
104108

105109
if __name__ == "__main__":
106-
sys.exit(main())
110+
sys.exit(main())

0 commit comments

Comments
 (0)