| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:466187dc-f9ac-5fdc-7fb8-aa5ec1adc6e6 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | 8028:3AFDE9:265A48A:359C674:6977A395 |
| html-safe-nonce | dff3310b4fa5b6fe54e928b3776361356cfb5a28311e86fec93e90b721a40285 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4MDI4OjNBRkRFOToyNjVBNDhBOjM1OUM2NzQ6Njk3N0EzOTUiLCJ2aXNpdG9yX2lkIjoiMzc1MTIwNjEzMjk0NTIzMjc4OSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 91c05398289fbfc6880bbf8848df08ee65f71eb8f4cbb1fc7a3a2b64b75cc641 |
| hovercard-subject-tag | pull_request:2935487119 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | ///pull_requests/show/files |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/openstack-kr/python-openstackmcp-server/pull/91/files |
| twitter:image | https://avatars.githubusercontent.com/u/6806008?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/6806008?s=400&v=4 |
| og:image:alt | Overview
Add Security Group rule features to Network tools
Key Changes
Add Security group rule
Add Security group rule bulk
Get Security group rule detail
Delete Security group rule
Bind securit... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | e10aafdf5297192c9b24eb4c1705326a9448d90025c2907ca863f7e62d40627d |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/openstack-kr/python-openstackmcp-server git https://github.com/openstack-kr/python-openstackmcp-server.git |
| octolytics-dimension-user_id | 5391193 |
| octolytics-dimension-user_login | openstack-kr |
| octolytics-dimension-repository_id | 1006778385 |
| octolytics-dimension-repository_nwo | openstack-kr/python-openstackmcp-server |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1006778385 |
| octolytics-dimension-repository_network_root_nwo | openstack-kr/python-openstackmcp-server |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 6ba450e9e3f0dbffd9b797b93684cf55e32593e3 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#start-of-content |
|
| https://patch-diff.githubusercontent.com/ |
|
Sign in
| https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenstack-kr%2Fpython-openstackmcp-server%2Fpull%2F91%2Ffiles |
| GitHub CopilotWrite better code with AI | https://github.com/features/copilot |
| GitHub SparkBuild and deploy intelligent apps | https://github.com/features/spark |
| GitHub ModelsManage and compare prompts | https://github.com/features/models |
| MCP RegistryNewIntegrate external tools | https://github.com/mcp |
| ActionsAutomate any workflow | https://github.com/features/actions |
| CodespacesInstant dev environments | https://github.com/features/codespaces |
| IssuesPlan and track work | https://github.com/features/issues |
| Code ReviewManage code changes | https://github.com/features/code-review |
| GitHub Advanced SecurityFind and fix vulnerabilities | https://github.com/security/advanced-security |
| Code securitySecure your code as you build | https://github.com/security/advanced-security/code-security |
| Secret protectionStop leaks before they start | https://github.com/security/advanced-security/secret-protection |
| Why GitHub | https://github.com/why-github |
| Documentation | https://docs.github.com |
| Blog | https://github.blog |
| Changelog | https://github.blog/changelog |
| Marketplace | https://github.com/marketplace |
| View all features | https://github.com/features |
| Enterprises | https://github.com/enterprise |
| Small and medium teams | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| App Modernization | https://github.com/solutions/use-case/app-modernization |
| DevSecOps | https://github.com/solutions/use-case/devsecops |
| DevOps | https://github.com/solutions/use-case/devops |
| CI/CD | https://github.com/solutions/use-case/ci-cd |
| View all use cases | https://github.com/solutions/use-case |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| View all industries | https://github.com/solutions/industry |
| View all solutions | https://github.com/solutions |
| AI | https://github.com/resources/articles?topic=ai |
| Software Development | https://github.com/resources/articles?topic=software-development |
| DevOps | https://github.com/resources/articles?topic=devops |
| Security | https://github.com/resources/articles?topic=security |
| View all topics | https://github.com/resources/articles |
| Customer stories | https://github.com/customer-stories |
| Events & webinars | https://github.com/resources/events |
| Ebooks & reports | https://github.com/resources/whitepapers |
| Business insights | https://github.com/solutions/executive-insights |
| GitHub Skills | https://skills.github.com |
| Documentation | https://docs.github.com |
| Customer support | https://support.github.com |
| Community forum | https://github.com/orgs/community/discussions |
| Trust center | https://github.com/trust-center |
| Partners | https://github.com/partners |
| GitHub SponsorsFund open source developers | https://github.com/sponsors |
| Security Lab | https://securitylab.github.com |
| Maintainer Community | https://maintainers.github.com |
| Accelerator | https://github.com/accelerator |
| Archive Program | https://archiveprogram.github.com |
| Topics | https://github.com/topics |
| Trending | https://github.com/trending |
| Collections | https://github.com/collections |
| Enterprise platformAI-powered developer platform | https://github.com/enterprise |
| GitHub Advanced SecurityEnterprise-grade security features | https://github.com/security/advanced-security |
| Copilot for BusinessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/premium-support |
| Pricing | https://github.com/pricing |
| Search syntax tips | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
| documentation | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
|
Sign in
| https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenstack-kr%2Fpython-openstackmcp-server%2Fpull%2F91%2Ffiles |
|
Sign up
| https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=openstack-kr%2Fpython-openstackmcp-server |
| Reload | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
| Reload | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
| Reload | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
|
openstack-kr
| https://patch-diff.githubusercontent.com/openstack-kr |
| python-openstackmcp-server | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server |
|
Notifications
| https://patch-diff.githubusercontent.com/login?return_to=%2Fopenstack-kr%2Fpython-openstackmcp-server |
|
Fork
6
| https://patch-diff.githubusercontent.com/login?return_to=%2Fopenstack-kr%2Fpython-openstackmcp-server |
|
Star
18
| https://patch-diff.githubusercontent.com/login?return_to=%2Fopenstack-kr%2Fpython-openstackmcp-server |
|
Code
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server |
|
Issues
10
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/issues |
|
Pull requests
1
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pulls |
|
Discussions
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/discussions |
|
Actions
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/actions |
|
Projects
0
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/projects |
|
Wiki
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/wiki |
|
Security
0
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/security |
|
Insights
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pulse |
|
Code
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server |
|
Issues
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/issues |
|
Pull requests
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pulls |
|
Discussions
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/discussions |
|
Actions
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/actions |
|
Projects
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/projects |
|
Wiki
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/wiki |
|
Security
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/security |
|
Insights
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pulse |
| Sign up for GitHub
| https://patch-diff.githubusercontent.com/signup?return_to=%2Fopenstack-kr%2Fpython-openstackmcp-server%2Fissues%2Fnew%2Fchoose |
| terms of service | https://docs.github.com/terms |
| privacy statement | https://docs.github.com/privacy |
| Sign in | https://patch-diff.githubusercontent.com/login?return_to=%2Fopenstack-kr%2Fpython-openstackmcp-server%2Fissues%2Fnew%2Fchoose |
| platanus-kr | https://patch-diff.githubusercontent.com/platanus-kr |
| develop | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/tree/develop |
| feat/security-group-rule-tools | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/tree/feat/security-group-rule-tools |
|
Conversation
28
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91 |
|
Commits
4
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/commits |
|
Checks
6
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/checks |
|
Files changed
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
| Please reload this page | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
|
feat: Add security group rule tools
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#top |
|
Show all changes
4 commits
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
|
c8cb9ce
feat(network): add security group rule mcp tools (#87)
platanus-kr Oct 21, 2025
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/commits/c8cb9ceb00b273363785c901b3024fc422343cee |
|
a666530
feat(network): add security group binding to port to mcp tools (#87)
platanus-kr Oct 21, 2025
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/commits/a66653094cacc75eb0e74f01a23fe70997005efb |
|
db21adc
feat(network): improve feedback (#87)
platanus-kr Oct 25, 2025
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/commits/db21adc010c69eae7d8a91cedd962e5047ff18a1 |
|
da6bdb5
feat(network): rename port to security group (#87)
platanus-kr Oct 25, 2025
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/commits/da6bdb5e461d189b9451e943846e92e24bf46d0f |
|
Clear filters
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
| Please reload this page | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
| Please reload this page | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
|
network_tools.py
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#diff-ed16ec70fef4e79468c36d06c6c7831c83d1bf5ecb816e77612bac5f5e2b3522 |
|
test_network_tools.py
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#diff-d8a87d5230932f91fe38a49413a81771e47ff8225a4536dae9cb146444754877 |
| src/openstack_mcp_server/tools/network_tools.py | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#diff-ed16ec70fef4e79468c36d06c6c7831c83d1bf5ecb816e77612bac5f5e2b3522 |
|
View file
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/blob/da6bdb5e461d189b9451e943846e92e24bf46d0f/src/openstack_mcp_server/tools/network_tools.py |
|
Open in desktop
| https://desktop.github.com |
| https://github.co/hiddenchars |
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/{{ revealButtonHref }} |
|
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#diff-ed16ec70fef4e79468c36d06c6c7831c83d1bf5ecb816e77612bac5f5e2b3522 |
|
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#diff-ed16ec70fef4e79468c36d06c6c7831c83d1bf5ecb816e77612bac5f5e2b3522 |
| S0okJu | https://patch-diff.githubusercontent.com/S0okJu |
| Oct 22, 2025 | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#r2450302858 |
| Please reload this page | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
| platanus-kr | https://patch-diff.githubusercontent.com/platanus-kr |
| Oct 22, 2025 | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#r2450374523 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
| S0okJu | https://patch-diff.githubusercontent.com/S0okJu |
| Oct 25, 2025 | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#r2462736379 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| @platanus-kr | https://github.com/platanus-kr |
| Please reload this page | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
| platanus-kr | https://patch-diff.githubusercontent.com/platanus-kr |
| Oct 25, 2025 | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#r2462839277 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Nova (create multiple server) | https://docs.openstack.org/api-ref/compute/#create-multiple-servers |
| Swift (bulk delete) | https://docs.openstack.org/swift/latest/api/bulk-delete.html |
| Please reload this page | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
|
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#diff-ed16ec70fef4e79468c36d06c6c7831c83d1bf5ecb816e77612bac5f5e2b3522 |
|
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#diff-ed16ec70fef4e79468c36d06c6c7831c83d1bf5ecb816e77612bac5f5e2b3522 |
|
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#diff-ed16ec70fef4e79468c36d06c6c7831c83d1bf5ecb816e77612bac5f5e2b3522 |
|
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#diff-ed16ec70fef4e79468c36d06c6c7831c83d1bf5ecb816e77612bac5f5e2b3522 |
| halucinor | https://patch-diff.githubusercontent.com/halucinor |
| Nov 6, 2025 | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#r2499992661 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
|
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#diff-ed16ec70fef4e79468c36d06c6c7831c83d1bf5ecb816e77612bac5f5e2b3522 |
|
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#diff-ed16ec70fef4e79468c36d06c6c7831c83d1bf5ecb816e77612bac5f5e2b3522 |
|
| https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#diff-ed16ec70fef4e79468c36d06c6c7831c83d1bf5ecb816e77612bac5f5e2b3522 |
| halucinor | https://patch-diff.githubusercontent.com/halucinor |
| Nov 6, 2025 | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#r2499956329 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
| halucinor | https://patch-diff.githubusercontent.com/halucinor |
| Nov 6, 2025 | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#r2499959159 |
| Please reload this page | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
| halucinor | https://patch-diff.githubusercontent.com/halucinor |
| Nov 6, 2025 | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files#r2499968100 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
| Please reload this page | https://patch-diff.githubusercontent.com/openstack-kr/python-openstackmcp-server/pull/91/files |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |