Bug: [FEATURE] Add x-mcp extension to OpenAPI schema



Mintlify supports extracting API endpoints from openAPI json into MCP servers: https://mintlify.com/docs/mcp

We need to add:

```json
  "x-mcp": {
    "enabled": true
  },
```

at the top level of our OpenAPI schema to enable this functionality
diff --git a/README.md b/README.md
index a46baab5244..35964d72bf5 100644
--- a/README.md
+++ b/README.md
@@ -31,7 +31,7 @@
   <a href="https://x.com/hyperswitchio">
     <img src="https://img.shields.io/badge/follow-%40hyperswitchio-white?logo=x&labelColor=grey"/>
   </a>
-  <a href="https://join.slack.com/t/hyperswitch-io/shared_invite/zt-2jqxmpsbm-WXUENx022HjNEy~Ark7Orw">
+  <a href="https://inviter.co/hyperswitch-slack">
     <img src="https://img.shields.io/badge/chat-on_slack-blue?logo=slack&labelColor=grey&color=%233f0e40"/>
   </a>
 </p>
@@ -196,7 +196,7 @@ We welcome contributors from around the world to help build Hyperswitch. Whether
 
 Please read our [contributing guidelines](https://github.com/juspay/hyperswitch/blob/main/docs/CONTRIBUTING.md) to get started.
 
-Join the conversation on [Slack](https://join.slack.com/t/hyperswitch-io/shared_invite/zt-2jqxmpsbm-WXUENx022HjNEy~Ark7Orw) or explore open issues on [GitHub](https://github.com/juspay/hyperswitch/issues).
+Join the conversation on [Slack](https://inviter.co/hyperswitch-slack) or explore open issues on [GitHub](https://github.com/juspay/hyperswitch/issues).
 
 <a href="#feature-requests">
   <h2 id="feature-requests">Feature requests & Bugs</h2>
diff --git a/crates/openapi/src/main.rs b/crates/openapi/src/main.rs
index cf8158cfb02..d25b24442df 100644
--- a/crates/openapi/src/main.rs
+++ b/crates/openapi/src/main.rs
@@ -29,13 +29,33 @@ fn main() {
     #[allow(clippy::expect_used)]
     #[cfg(any(feature = "v1", feature = "v2"))]
     std::fs::write(
-        file_path,
+        &file_path,
         openapi
             .to_pretty_json()
             .expect("Failed to serialize OpenAPI specification as JSON"),
     )
     .expect("Failed to write OpenAPI specification to file");
 
+    #[allow(clippy::expect_used)]
+    #[cfg(feature = "v1")]
+    {
+        // TODO: Do this using utoipa::extensions after we have upgraded to 5.x
+        let file_content =
+            std::fs::read_to_string(&file_path).expect("Failed to read OpenAPI specification file");
+
+        let mut lines: Vec<&str> = file_content.lines().collect();
+
+        // Insert the new text at line 3 (index 2)
+        if lines.len() > 2 {
+            let new_line = "  \"x-mcp\": {\n    \"enabled\": true\n  },";
+            lines.insert(2, new_line);
+        }
+
+        let modified_content = lines.join("\n");
+        std::fs::write(&file_path, modified_content)
+            .expect("Failed to write modified OpenAPI specification to file");
+    }
+
     #[cfg(any(feature = "v1", feature = "v2"))]
     println!("Successfully saved OpenAPI specification file at '{relative_file_path}'");
 

## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [ ] Bugfix
- [x] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [x] Documentation
- [ ] CI/CD

## Description
<!-- Describe your changes in detail -->
Modified `openapi/src/main.rs` to append `x-mcp` extension to v1 OpenAPI schema

### Additional Changes

- [ ] This PR modifies the API contract
- [ ] This PR modifies the database schema
- [ ] This PR modifies application configuration/environment variables

<!--
Provide links to the files with corresponding changes.

Following are the paths where you can find config files:
1. `config`
2. `crates/router/src/configs`
3. `loadtest/config`
-->


## Motivation and Context
<!--
Why is this change required? What problem does it solve?
If it fixes an open issue, please link to the issue here.

If you don't have an issue, we'd recommend starting with one first so the PR
can focus on the implementation (unless it is an obvious bug or documentation fix
that will have little conversation).
-->
Closes #8442 

## How did you test it?
<!--
Did you write an integration/unit/API test to verify the code changes?
Or did you test this change manually (provide relevant screenshots)?
-->
Verified using:

`mintlify openapi-check api-reference/v1/openapi_spec_v1.json`

Tested mintlify's mcp server generation functionality by deploying the updated OpenAPI spec file on a custom mintlify account. Used the generated mcp server to do payments - create in cursor.

![image](https://github.com/user-attachments/assets/1a6e37a3-a682-4b84-9cd7-1292f3ed1787)

## Checklist
<!-- Put an `x` in the boxes that apply -->

- [x] I formatted the code `cargo +nightly fmt --all`
- [x] I addressed lints thrown by `cargo clippy`
- [x] I reviewed the submitted code
- [ ] I added unit tests for my changes where possible
